Skip to main content
GitHitsShared session
Start for Free

GitHits session

Three.js Shader and Geometry Investigation

Investigated Three.js 0.185.1 shaders, postprocessing, math, geometry, simplex-noise, and related rendering code across ToonLab and Godot repositories.

claude-code 2.1.224via githits-remote-mcp 0.1.0Published Aug 14, 2026, 7:11 PM UTC

Session overview

GitHits Remote MCP Session

Aug 7, 2026, 1:13 PM – Aug 7, 2026, 8:08 PM UTC

Tool calls
441
Tools
6
Targets
15
Wall time
43 min 10 s
Successful
437
Failed
4

Session activity

What the agent did

The code, documentation, package data, and examples used by the agent in this session.

252 Code Grep120 Code Read55 Get Example6 PKG Info4 Code Files4 Search
  1. 1
    +0:00PKG InfoPackage intelligencepkg:npm:three128 msCompleted⌄
    Started
    Aug 7, 2026, 1:13:54 PM UTC
    Ended
    Aug 7, 2026, 1:13:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three

    Result summary

    {
      "outcome": "result_returned",
      "packages": [
        "npm:three"
      ],
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "name": "three",
      "registry": "npm"
    }
    Response⌄

    Response payload

    {
      "summary": {
        "outcome": "result_returned",
        "packages": [
          "npm:three"
        ],
        "status": "success"
      },
      "title": null,
      "content": null
    }
  2. 2
    +0:22Code GrepCode navigationthree“Ocean.js”445 msNo result⌄

    Ocean.js

    Started
    Aug 7, 2026, 1:14:17 PM UTC
    Ended
    Aug 7, 2026, 1:14:18 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 0,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "examples/jsm/objects"
        }
      ],
      "pattern": "Ocean.js",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  3. 3
    +0:23Get ExampleGenerated examplethree.js toon cel shading outline inverted hull post-process2 sources35 sCompleted⌄

    three.js toon cel shading outline inverted hull post-process · javascript · strict

    Started
    Aug 7, 2026, 1:14:18 PM UTC
    Ended
    Aug 7, 2026, 1:14:53 PM UTC
    Outcome
    Result returned
    Targets
    2

    three.js Toon Cel Shading with Inverted-Hull and Post-Processing Outline

    import * as THREE from 'three';
    import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
    import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
    import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
    import { OutlinePass } from 'three/addons/postprocessing/OutlinePass.js';
    import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.outputColorSpace = THREE.SRGBColorSpace;
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0xbfe3ff);
    scene.fog = new THREE.Fog(0xbfe3ff, 8, 22);
    
    const camera = new THREE.PerspectiveCamera(
      45,
      window.innerWidth / window.innerHeight,
      0.1,
      100,
    );
    camera.position.set(4, 3, 6);
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.target.set(0, 1, 0);
    controls.enableDamping = true;
    
    const hemiLight = new THREE.HemisphereLight(0xffffff, 0x52613e, 2.0);
    scene.add(hemiLight);
    
    const keyLight = new THREE.DirectionalLight(0xfff1d0, 3.0);
    keyLight.position.set(4, 7, 5);
    keyLight.castShadow = true;
    scene.add(keyLight);
    
    // A nearest-filtered ramp turns diffuse lighting into discrete cel bands.
    function createToonRamp(bands) {
      const pixels = new Uint8Array(bands);
      for (let i = 0; i < bands; i++) {
        pixels[i] = Math.round((i / (bands - 1)) * 255);
      }
    
      const ramp = new THREE.DataTexture(pixels, bands, 1, THREE.RedFormat);
      ramp.minFilter = THREE.NearestFilter;
      ramp.magFilter = THREE.NearestFilter;
      ramp.needsUpdate = true;
      return ramp;
    }
    
    const toonRamp = createToonRamp(4);
    const toonMaterial = new THREE.MeshToonMaterial({
      color: 0x63a7df,
      gradientMap: toonRamp,
    });
    
    const character = new THREE.Group();
    scene.add(character);
    
    const body = new THREE.Mesh(
      new THREE.SphereGeometry(1.15, 32, 20),
      toonMaterial,
    );
    body.scale.set(1, 1.25, 0.8);
    body.position.y = 1.25;
    body.castShadow = true;
    body.receiveShadow = true;
    character.add(body);
    
    const head = new THREE.Mesh(
      new THREE.SphereGeometry(0.72, 32, 20),
      new THREE.MeshToonMaterial({ color: 0xffc58f, gradientMap: toonRamp }),
    );
    head.position.set(0, 2.65, 0);
    head.castShadow = true;
    character.add(head);
    
    // Inverted hull: expand along vertex normals and render the copy back-facing.
    // Back-face culling hides the expanded copy except at the silhouette.
    function createInvertedHull(mesh, thickness, color = 0x172238) {
      const geometry = mesh.geometry.clone();
      const positions = geometry.attributes.position;
      const normals = geometry.attributes.normal;
    
      if (!normals) {
        geometry.computeVertexNormals();
      }
    
      for (let i = 0; i < positions.count; i++) {
        positions.setXYZ(
          i,
          positions.getX(i) + normals.getX(i) * thickness,
          positions.getY(i) + normals.getY(i) * thickness,
          positions.getZ(i) + normals.getZ(i) * thickness,
        );
      }
      positions.needsUpdate = true;
      geometry.computeBoundingSphere();
    
      const ink = new THREE.MeshBasicMaterial({
        color,
        side: THREE.BackSide,
        depthWrite: true,
      });
    
      const hull = new THREE.Mesh(geometry, ink);
      hull.renderOrder = -1;
      mesh.add(hull);
      return hull;
    }
    
    createInvertedHull(body, 0.055);
    createInvertedHull(head, 0.04);
    
    // Ground makes the toon lighting and silhouette easier to see.
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(30, 30),
      new THREE.MeshToonMaterial({ color: 0x6f8b5c, gradientMap: toonRamp }),
    );
    ground.rotation.x = -Math.PI / 2;
    ground.receiveShadow = true;
    scene.add(ground);
    
    renderer.shadowMap.enabled = true;
    
    // The post-process pass adds a second, screen-space outline around the selected
    // object. It complements the inverted hull with a controllable pixel outline.
    const composer = new EffectComposer(renderer);
    composer.addPass(new RenderPass(scene, camera));
    
    const outlinePass = new OutlinePass(
      new THREE.Vector2(window.innerWidth, window.innerHeight),
      scene,
      camera,
      [character],
    );
    outlinePass.edgeStrength = 1.6;
    outlinePass.edgeGlow = 0.15;
    outlinePass.edgeThickness = 1.25;
    outlinePass.pulsePeriod = 0;
    outlinePass.visibleEdgeColor.set(0x10131a);
    outlinePass.hiddenEdgeColor.set(0x10131a);
    composer.addPass(outlinePass);
    composer.addPass(new OutputPass());
    
    function resize() {
      camera.aspect = window.innerWidth / window.innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(window.innerWidth, window.innerHeight);
      composer.setSize(window.innerWidth, window.innerHeight);
    }
    window.addEventListener('resize', resize);
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      character.rotation.y = clock.getElapsedTime() * 0.35;
      controls.update();
      composer.render();
    }
    animate();
    
    References
    2
    1. call-me-sensei/toonlabsrc/post/postProcessing.js

      Direct JavaScript/three.js post-processing pipeline implementation for toon-style screen-space outlines (outlineStrength/Depth/Luma, screenOutline, and composite passes). Doesn’t specifically show an inverted-hull outline pass, so it’s a strong but incomplete match to the “inverted hull” part.

      codeMIT
    2. MattPoetker/origindbexamples/originlands/public/main.js

      Direct Three.js example implementing toon cel shading plus an outline via inverted-hull (expanded backface ink) in main.js; includes the core technique needed for toon cel shading with inverted-hull outline, though it’s not a post-process OutlinePass-based approach.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js toon cel shading outline inverted hull post-process",
      "language": "javascript",
      "license_mode": "strict"
    }
  4. 4
    +3:13Code FilesCode navigationthreeexamples/jsm/postprocessing/160 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:07 PM UTC
    Ended
    Aug 7, 2026, 1:17:07 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "code_index_state": "current",
      "files": [
        "examples/jsm/postprocessing/AfterimagePass.js",
        "examples/jsm/postprocessing/BloomPass.js",
        "examples/jsm/postprocessing/BokehPass.js",
        "examples/jsm/postprocessing/ClearPass.js",
        "examples/jsm/postprocessing/CubeTexturePass.js",
        "examples/jsm/postprocessing/DotScreenPass.js",
        "examples/jsm/postprocessing/EffectComposer.js",
        "examples/jsm/postprocessing/FXAAPass.js",
        "examples/jsm/postprocessing/FilmPass.js",
        "examples/jsm/postprocessing/GTAOPass.js",
        "examples/jsm/postprocessing/GlitchPass.js",
        "examples/jsm/postprocessing/HalftonePass.js",
        "examples/jsm/postprocessing/LUTPass.js",
        "examples/jsm/postprocessing/MaskPass.js",
        "examples/jsm/postprocessing/OutlinePass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/Pass.js",
        "examples/jsm/postprocessing/RenderPass.js",
        "examples/jsm/postprocessing/RenderPixelatedPass.js",
        "examples/jsm/postprocessing/RenderTransitionPass.js"
      ],
      "has_more": false,
      "indexing_status": "indexed",
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/BloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/BokehPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BokehPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/ClearPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ClearPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/CubeTexturePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/CubeTexturePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/DotScreenPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/DotScreenPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/FXAAPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/FilmPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FilmPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/GTAOPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GTAOPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/GlitchPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GlitchPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/HalftonePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/HalftonePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/LUTPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/LUTPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/MaskPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/MaskPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/OutlinePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutlinePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/Pass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/Pass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/RenderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/RenderPixelatedPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPixelatedPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/RenderTransitionPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderTransitionPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        }
      ],
      "result_pointers_truncated": true,
      "returned": 30,
      "status": "success",
      "total": 30
    }
    Request⌄

    Request payload

    {
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "include_hidden": false,
      "limit": 100,
      "offset": 0,
      "package_name": "three",
      "path_prefix": "examples/jsm/postprocessing/",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    ResponseTruncated⌄

    Response payload

    {
      "summary": {
        "code_index_state": "current",
        "files": [
          "examples/jsm/postprocessing/AfterimagePass.js",
          "examples/jsm/postprocessing/BloomPass.js",
          "examples/jsm/postprocessing/BokehPass.js",
          "examples/jsm/postprocessing/ClearPass.js",
          "examples/jsm/postprocessing/CubeTexturePass.js",
          "examples/jsm/postprocessing/DotScreenPass.js",
          "examples/jsm/postprocessing/EffectComposer.js",
          "examples/jsm/postprocessing/FXAAPass.js",
          "examples/jsm/postprocessing/FilmPass.js",
          "examples/jsm/postprocessing/GTAOPass.js",
          "examples/jsm/postprocessing/GlitchPass.js",
          "examples/jsm/postprocessing/HalftonePass.js",
          "examples/jsm/postprocessing/LUTPass.js",
          "examples/jsm/postprocessing/MaskPass.js",
          "examples/jsm/postprocessing/OutlinePass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/Pass.js",
          "examples/jsm/postprocessing/RenderPass.js",
          "examples/jsm/postprocessing/RenderPixelatedPass.js",
          "examples/jsm/postprocessing/RenderTransitionPass.js"
        ],
        "has_more": false,
        "indexing_status": "indexed",
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/BloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/BokehPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BokehPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/ClearPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ClearPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/CubeTexturePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/CubeTexturePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/DotScreenPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/DotScreenPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/FXAAPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/FilmPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FilmPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/GTAOPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GTAOPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/GlitchPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GlitchPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/HalftonePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/HalftonePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/LUTPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/LUTPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/MaskPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/MaskPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/OutlinePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutlinePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/Pass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/Pass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/RenderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/RenderPixelatedPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPixelatedPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/RenderTransitionPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderTransitionPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          }
        ],
        "result_pointers_truncated": true,
        "returned": 30,
        "status": "success",
        "total": 30
      },
      "title": null,
      "content": null
    }

    This shared record contains a truncated response.

  5. 5
    +3:13PKG InfoPackage intelligencepkg:npm:three36 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:08 PM UTC
    Ended
    Aug 7, 2026, 1:17:08 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three

    Result summary

    {
      "outcome": "result_returned",
      "packages": [
        "npm:three"
      ],
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "name": "three",
      "registry": "npm"
    }
    Response⌄

    Response payload

    {
      "summary": {
        "outcome": "result_returned",
        "packages": [
          "npm:three"
        ],
        "status": "success"
      },
      "title": null,
      "content": null
    }
  6. 6
    +3:32Code ReadCode navigationthree722 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:26 PM UTC
    Ended
    Aug 7, 2026, 1:17:27 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 150,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 150,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 150,
          "file_path": "examples/jsm/objects/Water.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Water.js#L1-L150",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 374
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "examples/jsm/objects/Water.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 150,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 150,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 150,
            "file_path": "examples/jsm/objects/Water.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Water.js#L1-L150",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 374
      },
      "title": null,
      "content": null
    }
  7. 7
    +3:32Code ReadCode navigationthree966 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:27 PM UTC
    Ended
    Aug 7, 2026, 1:17:28 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 110,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 110,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L1-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 365
    }
    Request⌄

    Request payload

    {
      "end_line": 110,
      "file_path": "examples/jsm/postprocessing/EffectComposer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 110,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 110,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L1-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 365
      },
      "title": null,
      "content": null
    }
  8. 8
    +3:33Code ReadCode navigationthree173 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:27 PM UTC
    Ended
    Aug 7, 2026, 1:17:27 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 120,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 120,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L1-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 148
    }
    Request⌄

    Request payload

    {
      "end_line": 120,
      "file_path": "examples/jsm/postprocessing/OutputPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 120,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 120,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L1-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 148
      },
      "title": null,
      "content": null
    }
  9. 9
    +3:39Code GrepCode navigationthree“outputColorSpace”131 msCompleted⌄

    outputColorSpace

    Started
    Aug 7, 2026, 1:17:33 PM UTC
    Ended
    Aug 7, 2026, 1:17:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 310,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L298-L310",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 298
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2297,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2285-L2297",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2285
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2297,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2285-L2297",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2285
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2348,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2336-L2348",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2336
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2402,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2390-L2402",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2390
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3604,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3592-L3604",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3592
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3606,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3594-L3606",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3594
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3610,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3598-L3610",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3598
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3612,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3600-L3612",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3600
        }
      ],
      "returned_matches": 9,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 9,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "outputColorSpace",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 310,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L298-L310",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 298
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2297,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2285-L2297",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2285
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2297,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2285-L2297",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2285
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2348,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2336-L2348",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2336
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2402,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2390-L2402",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2390
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3604,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3592-L3604",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3592
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3606,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3594-L3606",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3594
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3610,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3598-L3610",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3598
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3612,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3600-L3612",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3600
          }
        ],
        "returned_matches": 9,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 9,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  10. 10
    +3:39Code ReadCode navigationthree102 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:34 PM UTC
    Ended
    Aug 7, 2026, 1:17:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 110,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 110,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L1-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 524
    }
    Request⌄

    Request payload

    {
      "end_line": 110,
      "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 110,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 110,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L1-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 524
      },
      "title": null,
      "content": null
    }
  11. 11
    +3:45Code GrepCode navigationthree“constructor( width = 1, height = 1, options = {} )”1.0 sCompleted⌄

    constructor( width = 1, height = 1, options = {} )

    Started
    Aug 7, 2026, 1:17:39 PM UTC
    Ended
    Aug 7, 2026, 1:17:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/RenderTarget.js",
        "src/renderers/WebGLRenderTarget.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L40-L60",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 27,
          "file_path": "src/renderers/WebGLRenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderTarget.js#L7-L27",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 7
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/RenderTarget.js"
        },
        {
          "kind": "GLOB",
          "value": "src/renderers/common/RenderTarget.js"
        },
        {
          "kind": "GLOB",
          "value": "src/renderers/WebGLRenderTarget.js"
        },
        {
          "kind": "GLOB",
          "value": "src/core/**"
        }
      ],
      "pattern": "constructor( width = 1, height = 1, options = {} )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/RenderTarget.js",
          "src/renderers/WebGLRenderTarget.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L40-L60",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 27,
            "file_path": "src/renderers/WebGLRenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderTarget.js#L7-L27",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 7
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  12. 12
    +3:45Code ReadCode navigationthree307 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:40 PM UTC
    Ended
    Aug 7, 2026, 1:17:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 280,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 131,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 280,
          "file_path": "examples/jsm/objects/Water.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Water.js#L150-L280",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 150
        }
      ],
      "start_line": 150,
      "status": "success",
      "total_lines": 374
    }
    Request⌄

    Request payload

    {
      "end_line": 280,
      "file_path": "examples/jsm/objects/Water.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 150,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 280,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 131,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 280,
            "file_path": "examples/jsm/objects/Water.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Water.js#L150-L280",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 150
          }
        ],
        "start_line": 150,
        "status": "success",
        "total_lines": 374
      },
      "title": null,
      "content": null
    }
  13. 13
    +3:46Code GrepCode navigationthree“gradientMap”996 msCompleted⌄

    gradientMap

    Started
    Aug 7, 2026, 1:17:41 PM UTC
    Ended
    Aug 7, 2026, 1:17:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderLib.js",
        "src/renderers/shaders/ShaderLib/meshtoon.glsl.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 50,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L34-L50",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 34
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 50,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L34-L50",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 34
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 179,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L163-L179",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 163
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 179,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L163-L179",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 163
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 11,
          "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L1-L11",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 13,
          "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L1-L13",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 23,
          "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L7-L23",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 7
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 25,
          "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L9-L25",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 9
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 125,
          "file_path": "src/renderers/shaders/ShaderLib.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib.js#L109-L125",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 109
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 77,
          "file_path": "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshtoon.glsl.js#L61-L77",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 61
        }
      ],
      "returned_matches": 10,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 10,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders/"
        }
      ],
      "pattern": "gradientMap",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderLib.js",
          "src/renderers/shaders/ShaderLib/meshtoon.glsl.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 50,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L34-L50",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 34
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 50,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L34-L50",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 34
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 179,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L163-L179",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 163
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 179,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L163-L179",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 163
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 11,
            "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L1-L11",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 13,
            "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L1-L13",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 23,
            "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L7-L23",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 7
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 25,
            "file_path": "src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js#L9-L25",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 9
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 125,
            "file_path": "src/renderers/shaders/ShaderLib.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib.js#L109-L125",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 109
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 77,
            "file_path": "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshtoon.glsl.js#L61-L77",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 61
          }
        ],
        "returned_matches": 10,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 10,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  14. 14
    +3:51Get ExampleGenerated exampleGerstner wave ocean shader GLSL sum of waves with CPU height sampling for buoyancy in three.js2 sources25 sCompleted⌄

    Gerstner wave ocean shader GLSL sum of waves with CPU height sampling for buoyancy in three.js · javascript · strict

    Started
    Aug 7, 2026, 1:17:45 PM UTC
    Ended
    Aug 7, 2026, 1:18:10 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Gerstner Ocean Shader with CPU Buoyancy Sampling

    import * as THREE from 'three';
    
    // Keep this wave list identical for the GPU shader and CPU sampler.
    const waves = [
      { direction: new THREE.Vector2(1, 0.25).normalize(), amplitude: 0.42, wavelength: 18, steepness: 0.55, speed: 1.0 },
      { direction: new THREE.Vector2(-0.35, 1).normalize(), amplitude: 0.22, wavelength: 9, steepness: 0.35, speed: 1.35 },
      { direction: new THREE.Vector2(0.8, 0.65).normalize(), amplitude: 0.10, wavelength: 4.5, steepness: 0.25, speed: 1.9 }
    ];
    
    const waterLevel = 0;
    const gravity = 9.8;
    
    function waveUniforms() {
      return waves.map((wave) => ({
        direction: wave.direction,
        amplitude: wave.amplitude,
        wavelength: wave.wavelength,
        steepness: wave.steepness,
        speed: wave.speed
      }));
    }
    
    const vertexShader = /* glsl */ `
    uniform float uTime;
    uniform float uWaterLevel;
    
    struct Wave {
      vec2 direction;
      float amplitude;
      float wavelength;
      float steepness;
      float speed;
    };
    
    uniform Wave uWaves[3];
    
    varying vec3 vWorldPosition;
    varying vec3 vNormal;
    
    const float PI = 3.14159265359;
    
    vec3 gerstnerDisplacement(vec2 xz, Wave wave, float time) {
      float k = 2.0 * PI / wave.wavelength;
      float phaseSpeed = sqrt(9.8 / k) * wave.speed;
      float phase = k * dot(wave.direction, xz) - phaseSpeed * time;
      float horizontalAmplitude = wave.steepness * wave.amplitude;
    
      return vec3(
        wave.direction.x * horizontalAmplitude * cos(phase),
        wave.amplitude * sin(phase),
        wave.direction.y * horizontalAmplitude * cos(phase)
      );
    }
    
    vec3 displacedPosition(vec3 position) {
      vec3 result = position;
      for (int i = 0; i < 3; i++) {
        result += gerstnerDisplacement(position.xz, uWaves[i], uTime);
      }
      result.y += uWaterLevel;
      return result;
    }
    
    void main() {
      vec3 displaced = displacedPosition(position);
      float epsilon = 0.05;
      vec3 displacedX = displacedPosition(position + vec3(epsilon, 0.0, 0.0));
      vec3 displacedZ = displacedPosition(position + vec3(0.0, 0.0, epsilon));
    
      vec3 tangentX = displacedX - displaced;
      vec3 tangentZ = displacedZ - displaced;
      vec3 localNormal = normalize(cross(tangentZ, tangentX));
    
      vec4 worldPosition = modelMatrix * vec4(displaced, 1.0);
      vWorldPosition = worldPosition.xyz;
      vNormal = normalize(mat3(modelMatrix) * localNormal);
    
      gl_Position = projectionMatrix * viewMatrix * worldPosition;
    }
    `;
    
    const fragmentShader = /* glsl */ `
    uniform vec3 uDeepColor;
    uniform vec3 uShallowColor;
    uniform vec3 uSunDirection;
    uniform vec3 uCameraPosition;
    
    varying vec3 vWorldPosition;
    varying vec3 vNormal;
    
    void main() {
      vec3 normal = normalize(vNormal);
      vec3 viewDirection = normalize(uCameraPosition - vWorldPosition);
      float diffuse = max(dot(normal, normalize(uSunDirection)), 0.0);
      float fresnel = pow(1.0 - max(dot(normal, viewDirection), 0.0), 3.0);
    
      vec3 color = mix(uDeepColor, uShallowColor, diffuse * 0.45 + fresnel * 0.35);
      color += vec3(0.08, 0.14, 0.18) * diffuse;
    
      gl_FragColor = vec4(color, 0.88);
    }
    `;
    
    function createWaveUniforms() {
      return waves.map((wave) => ({
        direction: { value: wave.direction },
        amplitude: { value: wave.amplitude },
        wavelength: { value: wave.wavelength },
        steepness: { value: wave.steepness },
        speed: { value: wave.speed }
      }));
    }
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9cc9e8);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 1000);
    camera.position.set(12, 9, 16);
    camera.lookAt(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    document.body.appendChild(renderer.domElement);
    
    const oceanGeometry = new THREE.PlaneGeometry(80, 80, 160, 160);
    oceanGeometry.rotateX(-Math.PI / 2);
    
    const oceanMaterial = new THREE.ShaderMaterial({
      vertexShader,
      fragmentShader,
      transparent: true,
      uniforms: {
        uTime: { value: 0 },
        uWaterLevel: { value: waterLevel },
        uWaves: { value: createWaveUniforms() },
        uDeepColor: { value: new THREE.Color(0x075276) },
        uShallowColor: { value: new THREE.Color(0x38a8bd) },
        uSunDirection: { value: new THREE.Vector3(0.4, 1, 0.25).normalize() },
        uCameraPosition: { value: camera.position }
      }
    });
    
    const ocean = new THREE.Mesh(oceanGeometry, oceanMaterial);
    scene.add(ocean);
    
    // This sampler uses the same Gerstner equation as the vertex shader.
    function sampleWaterHeight(worldX, worldZ, time) {
      let height = waterLevel;
    
      for (const wave of waves) {
        const k = (2 * Math.PI) / wave.wavelength;
        const phaseSpeed = Math.sqrt(gravity / k) * wave.speed;
        const phase = k * (wave.direction.x * worldX + wave.direction.y * worldZ)
          - phaseSpeed * time;
    
        height += wave.amplitude * Math.sin(phase);
      }
    
      return height;
    }
    
    function sampleWaterNormal(worldX, worldZ, time, epsilon = 0.05) {
      const center = sampleWaterHeight(worldX, worldZ, time);
      const heightX = sampleWaterHeight(worldX + epsilon, worldZ, time);
      const heightZ = sampleWaterHeight(worldX, worldZ + epsilon, time);
    
      return new THREE.Vector3(
        -(heightX - center) / epsilon,
        1,
        -(heightZ - center) / epsilon
      ).normalize();
    }
    
    // Simple buoyancy body: sample several points, then apply lift and align to the water.
    const boat = new THREE.Mesh(
      new THREE.BoxGeometry(2.4, 0.45, 1.1),
      new THREE.MeshStandardMaterial({ color: 0x8b4b2c, roughness: 0.8 })
    );
    boat.position.set(0, 1, 0);
    scene.add(boat);
    
    const buoyancyPoints = [
      new THREE.Vector3(-0.85, 0, -0.35),
      new THREE.Vector3(0.85, 0, -0.35),
      new THREE.Vector3(-0.85, 0, 0.35),
      new THREE.Vector3(0.85, 0, 0.35)
    ];
    
    const clock = new THREE.Clock();
    const velocity = new THREE.Vector3();
    
    function updateBuoyancy(delta, time) {
      const averageNormal = new THREE.Vector3();
      let submergedPoints = 0;
      let averageHeight = 0;
    
      for (const localPoint of buoyancyPoints) {
        const worldPoint = boat.localToWorld(localPoint.clone());
        const waterY = sampleWaterHeight(worldPoint.x, worldPoint.z, time);
        const depth = waterY - worldPoint.y;
    
        if (depth > 0) {
          const lift = Math.min(depth * 18, 12);
          velocity.y += lift * delta;
          submergedPoints++;
          averageHeight += waterY;
          averageNormal.add(sampleWaterNormal(worldPoint.x, worldPoint.z, time));
        }
      }
    
      // Gravity and mild damping keep the body from gaining unlimited energy.
      velocity.y -= 9.8 * delta;
      velocity.multiplyScalar(Math.pow(0.985, delta * 60));
      boat.position.y += velocity.y * delta;
    
      if (submergedPoints > 0) {
        averageHeight /= submergedPoints;
        const targetY = averageHeight + 0.05;
        boat.position.y = THREE.MathUtils.lerp(boat.position.y, targetY, 0.08);
    
        averageNormal.normalize();
        const targetQuaternion = new THREE.Quaternion().setFromUnitVectors(
          new THREE.Vector3(0, 1, 0),
          averageNormal
        );
        boat.quaternion.slerp(targetQuaternion, 0.08);
      }
    }
    
    function animate() {
      requestAnimationFrame(animate);
      const delta = Math.min(clock.getDelta(), 0.05);
      const time = clock.elapsedTime;
    
      oceanMaterial.uniforms.uTime.value = time;
      oceanMaterial.uniforms.uCameraPosition.value.copy(camera.position);
      updateBuoyancy(delta, time);
    
      renderer.render(scene, camera);
    }
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    animate();
    
    References
    2
    1. majiayu000/claude-skill-registryskills/design/ta-water-shader/SKILL.md

      Strong Three.js/R3F Gerstner-wave ocean shader guidance (GLSL + layered waves, foam/caustics), but it focuses on rendering/shader logic and only lightly covers CPU height sampling for buoyancy rather than a concrete CPU sampler implementation.

      codeMIT
    2. majiayu000/claude-skill-registryskills/data/ta-water-shader/SKILL.md

      Directly relevant Three.js/R3F Gerstner-wave ocean shader GLSL implementation details (wave summation, normals, foam/caustics) and explicitly mentions buoyancy/floating objects, but it’s documentation-style rather than concrete CPU height-sampling code for buoyancy.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "Gerstner wave ocean shader GLSL sum of waves with CPU height sampling for buoyancy in three.js",
      "language": "javascript",
      "license_mode": "strict"
    }
  15. 15
    +3:54Get ExampleGenerated examplethree.js onBeforeCompile MeshStandardMaterial inject custom GLSL toon banded lighting shader replace lights_fragment_begin2 sources32 sCompleted⌄

    three.js onBeforeCompile MeshStandardMaterial inject custom GLSL toon banded lighting shader replace lights_fragment_begin · javascript · strict

    Started
    Aug 7, 2026, 1:17:48 PM UTC
    Ended
    Aug 7, 2026, 1:18:20 PM UTC
    Outcome
    Result returned
    Targets
    2

    Inject Banded Toon Lighting into MeshStandardMaterial

    import * as THREE from 'three';
    
    export function createToonStandardMaterial(options = {}) {
      const material = new THREE.MeshStandardMaterial({
        color: options.color ?? 0xffffff,
        roughness: options.roughness ?? 0.8,
        metalness: options.metalness ?? 0,
        map: options.map ?? null
      });
    
      material.userData.toonBands = options.bands ?? 4;
      material.userData.toonUniforms = {
        bands: { value: material.userData.toonBands }
      };
    
      material.onBeforeCompile = (shader) => {
        const { toonUniforms } = material.userData;
    
        shader.uniforms.toonBands = toonUniforms.bands;
    
        const lightsBegin = '#include <lights_fragment_begin>';
        const toonLighting = `
    ${lightsBegin}
    
    // Quantize the accumulated direct diffuse lighting into toon bands.
    float toonDiffuseLuma = dot(
      reflectedLight.directDiffuse,
      vec3(0.2126, 0.7152, 0.0722)
    );
    
    float toonBandCount = max(toonBands, 2.0);
    float toonBand = floor(
      clamp(toonDiffuseLuma, 0.0, 1.0) * (toonBandCount - 1.0) + 0.5
    ) / (toonBandCount - 1.0);
    
    if (toonDiffuseLuma > 0.0001) {
      reflectedLight.directDiffuse *= toonBand / toonDiffuseLuma;
    } else {
      reflectedLight.directDiffuse = vec3(0.0);
    }
    `;
    
        if (shader.fragmentShader.includes(lightsBegin)) {
          shader.fragmentShader = shader.fragmentShader.replace(
            lightsBegin,
            toonLighting
          );
        }
    
        material.userData.shader = shader;
      };
    
      material.customProgramCacheKey = () =>
        `toon-standard-bands-${material.userData.toonBands}`;
    
      return material;
    }
    
    // Example usage:
    const scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(2, 2, 5);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    document.body.appendChild(renderer.domElement);
    
    const mesh = new THREE.Mesh(
      new THREE.SphereGeometry(1, 64, 32),
      createToonStandardMaterial({ color: 0x4f8cff, bands: 4 })
    );
    scene.add(mesh);
    
    scene.add(new THREE.HemisphereLight(0xffffff, 0x223344, 1.2));
    const keyLight = new THREE.DirectionalLight(0xffffff, 2.5);
    keyLight.position.set(3, 4, 2);
    scene.add(keyLight);
    
    function animate() {
      requestAnimationFrame(animate);
      mesh.rotation.y += 0.01;
      renderer.render(scene, camera);
    }
    
    animate();
    
    References
    2
    1. VRodos/VRodosassets/js/runtime/master/vrodos_master_rendering.js

      Uses three.js material `onBeforeCompile` to inject custom GLSL into the shader fragment (via `#include <lights_fragment_end>`). It’s close in technique but doesn’t specifically target `MeshStandardMaterial` toon banded lighting or `lights_fragment_begin`, so it’s only a partial match.

      codeApache-2.0
    2. dmnsgn/vector-fieldweb_modules/three/src/renderers/WebGLRenderer.js

      three.js WebGLRenderer implementation code referencing shader chunk markers like `lights_fragment_begin` and lighting integration paths, which is relevant background for replacing/injecting GLSL for toon/banded lighting via `onBeforeCompile`; however it doesn’t directly show the `MeshStandardMaterial` `onBeforeCompile` toon banded lighting override workflow.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js onBeforeCompile MeshStandardMaterial inject custom GLSL toon banded lighting shader replace lights_fragment_begin",
      "language": "javascript",
      "license_mode": "strict"
    }
  16. 16
    +3:55Code GrepCode navigationthree“class Skeleton”707 msCompleted⌄

    class Skeleton

    Started
    Aug 7, 2026, 1:17:50 PM UTC
    Ended
    Aug 7, 2026, 1:17:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/helpers/SkeletonHelper.js",
        "src/objects/Skeleton.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 33,
          "file_path": "src/helpers/SkeletonHelper.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/helpers/SkeletonHelper.js#L13-L33",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 13
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 47,
          "file_path": "src/objects/Skeleton.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L27-L47",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 27
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/**/*.js"
        }
      ],
      "pattern": "class Skeleton",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/helpers/SkeletonHelper.js",
          "src/objects/Skeleton.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 33,
            "file_path": "src/helpers/SkeletonHelper.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/helpers/SkeletonHelper.js#L13-L33",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 13
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 47,
            "file_path": "src/objects/Skeleton.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L27-L47",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 27
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  17. 17
    +3:57Code GrepCode navigationthree“class SkinnedMesh”1.7 sCompleted⌄

    class SkinnedMesh

    Started
    Aug 7, 2026, 1:17:52 PM UTC
    Ended
    Aug 7, 2026, 1:17:53 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/SkinnedMesh.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 48,
          "file_path": "src/objects/SkinnedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L28-L48",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/**/*.js"
        }
      ],
      "pattern": "class SkinnedMesh",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/SkinnedMesh.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 48,
            "file_path": "src/objects/SkinnedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L28-L48",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  18. 18
    +4:01Code ReadCode navigationthree140 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:55 PM UTC
    Ended
    Aug 7, 2026, 1:17:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 187,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 150,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 187,
          "file_path": "src/objects/SkinnedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L38-L187",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 38
        }
      ],
      "start_line": 38,
      "status": "success",
      "total_lines": 370
    }
    Request⌄

    Request payload

    {
      "end_line": 187,
      "file_path": "src/objects/SkinnedMesh.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 38,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 187,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 150,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 187,
            "file_path": "src/objects/SkinnedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L38-L187",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 38
          }
        ],
        "start_line": 38,
        "status": "success",
        "total_lines": 370
      },
      "title": null,
      "content": null
    }
  19. 19
    +4:01Code ReadCode navigationthree115 msCompleted⌄
    Started
    Aug 7, 2026, 1:17:56 PM UTC
    Ended
    Aug 7, 2026, 1:17:56 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 186,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 150,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 186,
          "file_path": "src/objects/Skeleton.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L37-L186",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        }
      ],
      "start_line": 37,
      "status": "success",
      "total_lines": 383
    }
    Request⌄

    Request payload

    {
      "end_line": 186,
      "file_path": "src/objects/Skeleton.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 37,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 186,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 150,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 186,
            "file_path": "src/objects/Skeleton.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L37-L186",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          }
        ],
        "start_line": 37,
        "status": "success",
        "total_lines": 383
      },
      "title": null,
      "content": null
    }
  20. 20
    +4:10PKG InfoPackage intelligencepkg:npm:simplex-noise843 msCompleted⌄
    Started
    Aug 7, 2026, 1:18:05 PM UTC
    Ended
    Aug 7, 2026, 1:18:06 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:simplex-noise

    Result summary

    {
      "outcome": "result_returned",
      "packages": [
        "npm:simplex-noise"
      ],
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "name": "simplex-noise",
      "registry": "npm"
    }
    Response⌄

    Response payload

    {
      "summary": {
        "outcome": "result_returned",
        "packages": [
          "npm:simplex-noise"
        ],
        "status": "success"
      },
      "title": null,
      "content": null
    }
  21. 21
    +4:13Code GrepCode navigationthree“bind( skeleton, bindMatrix )”147 msCompleted⌄

    bind( skeleton, bindMatrix )

    Started
    Aug 7, 2026, 1:18:07 PM UTC
    Ended
    Aug 7, 2026, 1:18:07 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/SkinnedMesh.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 240,
          "file_path": "src/objects/SkinnedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L220-L240",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 220
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/objects/SkinnedMesh.js"
        }
      ],
      "pattern": "bind( skeleton, bindMatrix )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/SkinnedMesh.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 240,
            "file_path": "src/objects/SkinnedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L220-L240",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 220
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  22. 22
    +4:14Code GrepCode navigationthree“applyBoneTransform”226 msCompleted⌄

    applyBoneTransform

    Started
    Aug 7, 2026, 1:18:08 PM UTC
    Ended
    Aug 7, 2026, 1:18:09 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/SkinnedMesh.js",
        "src/objects/SkinnedMesh.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 227,
          "file_path": "src/objects/SkinnedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L207-L227",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 207
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 329,
          "file_path": "src/objects/SkinnedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L309-L329",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 309
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/objects/SkinnedMesh.js"
        }
      ],
      "pattern": "applyBoneTransform",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/SkinnedMesh.js",
          "src/objects/SkinnedMesh.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 227,
            "file_path": "src/objects/SkinnedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L207-L227",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 207
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 329,
            "file_path": "src/objects/SkinnedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L309-L329",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 309
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  23. 23
    +4:16Code GrepCode navigationthree“class InstancedMesh”1.3 sCompleted⌄

    class InstancedMesh

    Started
    Aug 7, 2026, 1:18:10 PM UTC
    Ended
    Aug 7, 2026, 1:18:12 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.core.js",
        "src/objects/InstancedMesh.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 24731,
          "file_path": "build/three.core.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L24715-L24731",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 24715
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 36,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L20-L36",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 20
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [
        "js"
      ],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "class InstancedMesh",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.core.js",
          "src/objects/InstancedMesh.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 24731,
            "file_path": "build/three.core.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L24715-L24731",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 24715
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 36,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L20-L36",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 20
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  24. 24
    +4:17Code GrepCode navigationthree“setColorAt”605 msCompleted⌄

    setColorAt

    Started
    Aug 7, 2026, 1:18:11 PM UTC
    Ended
    Aug 7, 2026, 1:18:12 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/BatchedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1114,
          "file_path": "src/objects/BatchedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/BatchedMesh.js#L1102-L1114",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1102
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 68,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L56-L68",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 56
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 324,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L312-L324",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 312
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/**/*.js"
        }
      ],
      "pattern": "setColorAt",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/BatchedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1114,
            "file_path": "src/objects/BatchedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/BatchedMesh.js#L1102-L1114",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1102
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 68,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L56-L68",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 56
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 324,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L312-L324",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 312
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  25. 25
    +4:20Code GrepCode navigationthree“skinIndices.push”1.4 sCompleted⌄

    skinIndices.push

    Started
    Aug 7, 2026, 1:18:15 PM UTC
    Ended
    Aug 7, 2026, 1:18:16 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "docs/scenes/bones-browser.html",
        "docs/scenes/ccdiksolver-browser.html",
        "utils/docs/template/static/scenes/bones-browser.html",
        "utils/docs/template/static/scenes/ccdiksolver-browser.html"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 147,
          "file_path": "docs/scenes/bones-browser.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/scenes/bones-browser.html#L127-L147",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 127
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 138,
          "file_path": "docs/scenes/ccdiksolver-browser.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/scenes/ccdiksolver-browser.html#L118-L138",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 118
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 147,
          "file_path": "utils/docs/template/static/scenes/bones-browser.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/utils/docs/template/static/scenes/bones-browser.html#L127-L147",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 127
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 138,
          "file_path": "utils/docs/template/static/scenes/ccdiksolver-browser.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/utils/docs/template/static/scenes/ccdiksolver-browser.html#L118-L138",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 118
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "skinIndices.push",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "docs/scenes/bones-browser.html",
          "docs/scenes/ccdiksolver-browser.html",
          "utils/docs/template/static/scenes/bones-browser.html",
          "utils/docs/template/static/scenes/ccdiksolver-browser.html"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 147,
            "file_path": "docs/scenes/bones-browser.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/scenes/bones-browser.html#L127-L147",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 127
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 138,
            "file_path": "docs/scenes/ccdiksolver-browser.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/scenes/ccdiksolver-browser.html#L118-L138",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 118
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 147,
            "file_path": "utils/docs/template/static/scenes/bones-browser.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/utils/docs/template/static/scenes/bones-browser.html#L127-L147",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 127
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 138,
            "file_path": "utils/docs/template/static/scenes/ccdiksolver-browser.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/utils/docs/template/static/scenes/ccdiksolver-browser.html#L118-L138",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 118
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  26. 26
    +4:20Code ReadCode navigationthree150 msCompleted⌄
    Started
    Aug 7, 2026, 1:18:15 PM UTC
    Ended
    Aug 7, 2026, 1:18:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 130,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 103,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 130,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L28-L130",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        }
      ],
      "start_line": 28,
      "status": "success",
      "total_lines": 411
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "src/objects/InstancedMesh.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 28,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 130,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 103,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 130,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L28-L130",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          }
        ],
        "start_line": 28,
        "status": "success",
        "total_lines": 411
      },
      "title": null,
      "content": null
    }
  27. 27
    +4:21Code GrepCode navigationthree“normalizeSkinWeights”126 msCompleted⌄

    normalizeSkinWeights

    Started
    Aug 7, 2026, 1:18:15 PM UTC
    Ended
    Aug 7, 2026, 1:18:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/SkinnedMesh.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 270,
          "file_path": "src/objects/SkinnedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L254-L270",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 254
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/objects/SkinnedMesh.js"
        }
      ],
      "pattern": "normalizeSkinWeights",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/SkinnedMesh.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 270,
            "file_path": "src/objects/SkinnedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/SkinnedMesh.js#L254-L270",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 254
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  28. 28
    +4:22Code GrepCode navigationthree“function mergeGeometries”1.5 sCompleted⌄

    function mergeGeometries

    Started
    Aug 7, 2026, 1:18:17 PM UTC
    Ended
    Aug 7, 2026, 1:18:18 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 139,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L127-L139",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 127
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "function mergeGeometries",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 139,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L127-L139",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 127
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  29. 29
    +4:24Code GrepCode navigationthree“depthTexture = new DepthTexture”1.5 sCompleted⌄

    depthTexture = new DepthTexture

    Started
    Aug 7, 2026, 1:18:19 PM UTC
    Ended
    Aug 7, 2026, 1:18:21 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.cjs",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.webgpu.js",
        "build/three.webgpu.js",
        "build/three.webgpu.js",
        "build/three.webgpu.js",
        "build/three.webgpu.js",
        "build/three.webgpu.js",
        "build/three.webgpu.js",
        "build/three.webgpu.nodes.js",
        "build/three.webgpu.nodes.js",
        "build/three.webgpu.nodes.js",
        "build/three.webgpu.nodes.js",
        "build/three.webgpu.nodes.js",
        "build/three.webgpu.nodes.js",
        "build/three.webgpu.nodes.js",
        "examples/jsm/objects/ReflectorForSSRPass.js",
        "examples/jsm/postprocessing/GTAOPass.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 69272,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L69256-L69272",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 69256
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 69289,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L69273-L69289",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 69273
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 9294,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L9278-L9294",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 9278
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 9311,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L9295-L9311",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 9295
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 34065,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L34049-L34065",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 34049
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37483,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L37467-L37483",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37467
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37872,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L37856-L37872",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37856
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 40436,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L40420-L40436",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40420
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 45033,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L45017-L45033",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 45017
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 58180,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L58164-L58180",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 58164
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 58981,
          "file_path": "build/three.webgpu.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L58965-L58981",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 58965
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 34065,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L34049-L34065",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 34049
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37483,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L37467-L37483",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37467
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37872,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L37856-L37872",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37856
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 40436,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L40420-L40436",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40420
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 45033,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L45017-L45033",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 45017
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 58180,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L58164-L58180",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 58164
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 58981,
          "file_path": "build/three.webgpu.nodes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L58965-L58981",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 58965
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 119,
          "file_path": "examples/jsm/objects/ReflectorForSSRPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/ReflectorForSSRPass.js#L103-L119",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 103
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 322,
          "file_path": "examples/jsm/postprocessing/GTAOPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GTAOPass.js#L306-L322",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 306
        }
      ],
      "result_pointers_truncated": true,
      "returned_matches": 36,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 36,
      "unique_files_matched": 20
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "depthTexture = new DepthTexture",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    ResponseTruncated⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.cjs",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.webgpu.js",
          "build/three.webgpu.js",
          "build/three.webgpu.js",
          "build/three.webgpu.js",
          "build/three.webgpu.js",
          "build/three.webgpu.js",
          "build/three.webgpu.js",
          "build/three.webgpu.nodes.js",
          "build/three.webgpu.nodes.js",
          "build/three.webgpu.nodes.js",
          "build/three.webgpu.nodes.js",
          "build/three.webgpu.nodes.js",
          "build/three.webgpu.nodes.js",
          "build/three.webgpu.nodes.js",
          "examples/jsm/objects/ReflectorForSSRPass.js",
          "examples/jsm/postprocessing/GTAOPass.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 69272,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L69256-L69272",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 69256
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 69289,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L69273-L69289",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 69273
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 9294,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L9278-L9294",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 9278
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 9311,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L9295-L9311",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 9295
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 34065,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L34049-L34065",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 34049
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37483,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L37467-L37483",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37467
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37872,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L37856-L37872",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37856
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 40436,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L40420-L40436",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40420
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 45033,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L45017-L45033",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 45017
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 58180,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L58164-L58180",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 58164
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 58981,
            "file_path": "build/three.webgpu.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.js#L58965-L58981",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 58965
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 34065,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L34049-L34065",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 34049
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37483,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L37467-L37483",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37467
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37872,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L37856-L37872",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37856
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 40436,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L40420-L40436",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40420
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 45033,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L45017-L45033",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 45017
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 58180,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L58164-L58180",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 58164
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 58981,
            "file_path": "build/three.webgpu.nodes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.webgpu.nodes.js#L58965-L58981",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 58965
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 119,
            "file_path": "examples/jsm/objects/ReflectorForSSRPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/ReflectorForSSRPass.js#L103-L119",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 103
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 322,
            "file_path": "examples/jsm/postprocessing/GTAOPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GTAOPass.js#L306-L322",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 306
          }
        ],
        "result_pointers_truncated": true,
        "returned_matches": 36,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 36,
        "unique_files_matched": 20
      },
      "title": null,
      "content": null
    }

    This shared record contains a truncated response.

  30. 30
    +4:25Code GrepCode navigationthree“perspectiveDepthToViewZ”306 msCompleted⌄

    perspectiveDepthToViewZ

    Started
    Aug 7, 2026, 1:18:20 PM UTC
    Ended
    Aug 7, 2026, 1:18:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/packing.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "src/renderers/shaders/ShaderChunk/packing.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/packing.glsl.js#L98-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 98
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/shaders/**"
        }
      ],
      "pattern": "perspectiveDepthToViewZ",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/packing.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "src/renderers/shaders/ShaderChunk/packing.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/packing.glsl.js#L98-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 98
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  31. 31
    +4:27Code ReadCode navigationthree178 msCompleted⌄
    Started
    Aug 7, 2026, 1:18:22 PM UTC
    Ended
    Aug 7, 2026, 1:18:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 230,
      "indexing_status": "indexed",
      "line_count": 131,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 230,
          "file_path": "docs/scenes/bones-browser.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/scenes/bones-browser.html#L100-L230",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 100
        }
      ],
      "start_line": 100,
      "status": "success",
      "total_lines": 290
    }
    Request⌄

    Request payload

    {
      "end_line": 230,
      "file_path": "docs/scenes/bones-browser.html",
      "package_name": "three",
      "registry": "npm",
      "start_line": 100,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 230,
        "indexing_status": "indexed",
        "line_count": 131,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 230,
            "file_path": "docs/scenes/bones-browser.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/scenes/bones-browser.html#L100-L230",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 100
          }
        ],
        "start_line": 100,
        "status": "success",
        "total_lines": 290
      },
      "title": null,
      "content": null
    }
  32. 32
    +4:27Code GrepCode navigationthree“setRefDistance”383 msCompleted⌄

    setRefDistance

    Started
    Aug 7, 2026, 1:18:22 PM UTC
    Ended
    Aug 7, 2026, 1:18:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/audio/PositionalAudio.js",
        "src/audio/PositionalAudio.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 33,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L17-L33",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 17
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 117,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L101-L117",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 101
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/audio/*.js"
        }
      ],
      "pattern": "setRefDistance",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/audio/PositionalAudio.js",
          "src/audio/PositionalAudio.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 33,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L17-L33",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 17
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 117,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L101-L117",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 101
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  33. 33
    +4:28Code GrepCode navigationthree“constructor( name, duration = -1, tracks, blendMode”475 msNo result⌄

    constructor( name, duration = -1, tracks, blendMode

    Started
    Aug 7, 2026, 1:18:23 PM UTC
    Ended
    Aug 7, 2026, 1:18:23 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/*.js"
        }
      ],
      "pattern": "constructor( name, duration = -1, tracks, blendMode",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  34. 34
    +4:29Code GrepCode navigationthree“setMediaElementSource|setBuffer|getOutput|constructor( listener )”429 msCompleted⌄

    setMediaElementSource|setBuffer|getOutput|constructor( listener )

    Started
    Aug 7, 2026, 1:18:23 PM UTC
    Ended
    Aug 7, 2026, 1:18:24 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/Audio.js",
        "src/audio/PositionalAudio.js",
        "src/audio/PositionalAudio.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 24,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L16-L24",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 16
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 82,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L74-L82",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 74
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 228,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L220-L228",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 220
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 261,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L253-L261",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 253
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 299,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L291-L299",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 291
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 446,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L438-L446",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 438
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 450,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L442-L450",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 442
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 484,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L476-L484",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 476
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 488,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L480-L488",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 480
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 28,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L20-L28",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 20
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 88,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L80-L88",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 80
        }
      ],
      "returned_matches": 11,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 11,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/audio/Audio.js"
        },
        {
          "kind": "GLOB",
          "value": "src/audio/PositionalAudio.js"
        },
        {
          "kind": "GLOB",
          "value": "src/audio/AudioListener.js"
        }
      ],
      "pattern": "setMediaElementSource|setBuffer|getOutput|constructor( listener )",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/Audio.js",
          "src/audio/PositionalAudio.js",
          "src/audio/PositionalAudio.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 24,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L16-L24",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 16
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 82,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L74-L82",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 74
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 228,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L220-L228",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 220
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 261,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L253-L261",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 253
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 299,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L291-L299",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 291
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 446,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L438-L446",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 438
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 450,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L442-L450",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 442
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 484,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L476-L484",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 476
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 488,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L480-L488",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 480
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 28,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L20-L28",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 20
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 88,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L80-L88",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 80
          }
        ],
        "returned_matches": 11,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 11,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  35. 35
    +4:33Code ReadCode navigationthree78 msCompleted⌄
    Started
    Aug 7, 2026, 1:18:28 PM UTC
    Ended
    Aug 7, 2026, 1:18:28 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 90,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 90,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 90,
          "file_path": "src/audio/AudioListener.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/AudioListener.js#L1-L90",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 218
    }
    Request⌄

    Request payload

    {
      "end_line": 90,
      "file_path": "src/audio/AudioListener.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 90,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 90,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 90,
            "file_path": "src/audio/AudioListener.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/AudioListener.js#L1-L90",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 218
      },
      "title": null,
      "content": null
    }
  36. 36
    +4:36Code ReadCode navigationthree100 msCompleted⌄
    Started
    Aug 7, 2026, 1:18:30 PM UTC
    Ended
    Aug 7, 2026, 1:18:30 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 100,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 100,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L1-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 405
    }
    Request⌄

    Request payload

    {
      "end_line": 100,
      "file_path": "src/core/RenderTarget.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 100,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 100,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L1-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 405
      },
      "title": null,
      "content": null
    }
  37. 37
    +4:38Code GrepCode navigationcall-me-sensei/toonlab“BackSide”2.1 sCompleted⌄

    BackSide

    Started
    Aug 7, 2026, 1:18:32 PM UTC
    Ended
    Aug 7, 2026, 1:18:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/call-me-sensei/toonlab

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/urban-prop-shader/main.js",
        "labs/asset-lab/engine/assetEngine.js",
        "labs/asset-lab/engine/assetEngine.js",
        "labs/asset-lab/engine/assetEngine.js",
        "labs/tree-lab/engine/skyWeather.js",
        "scripts/verify-scene-depth-color-pass.mjs"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 619,
          "file_path": "examples/urban-prop-shader/main.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/urban-prop-shader/main.js#L599-L619",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 599
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 243,
          "file_path": "labs/asset-lab/engine/assetEngine.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/asset-lab/engine/assetEngine.js#L223-L243",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 223
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 246,
          "file_path": "labs/asset-lab/engine/assetEngine.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/asset-lab/engine/assetEngine.js#L226-L246",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 226
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 251,
          "file_path": "labs/asset-lab/engine/assetEngine.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/asset-lab/engine/assetEngine.js#L231-L251",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 231
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 62,
          "file_path": "labs/tree-lab/engine/skyWeather.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/tree-lab/engine/skyWeather.js#L42-L62",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 42
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 76,
          "file_path": "scripts/verify-scene-depth-color-pass.mjs",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/scripts/verify-scene-depth-color-pass.mjs#L56-L76",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 56
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "pattern": "BackSide",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/call-me-sensei/toonlab",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/urban-prop-shader/main.js",
          "labs/asset-lab/engine/assetEngine.js",
          "labs/asset-lab/engine/assetEngine.js",
          "labs/asset-lab/engine/assetEngine.js",
          "labs/tree-lab/engine/skyWeather.js",
          "scripts/verify-scene-depth-color-pass.mjs"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 619,
            "file_path": "examples/urban-prop-shader/main.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/urban-prop-shader/main.js#L599-L619",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 599
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 243,
            "file_path": "labs/asset-lab/engine/assetEngine.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/asset-lab/engine/assetEngine.js#L223-L243",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 223
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 246,
            "file_path": "labs/asset-lab/engine/assetEngine.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/asset-lab/engine/assetEngine.js#L226-L246",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 226
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 251,
            "file_path": "labs/asset-lab/engine/assetEngine.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/asset-lab/engine/assetEngine.js#L231-L251",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 231
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 62,
            "file_path": "labs/tree-lab/engine/skyWeather.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/labs/tree-lab/engine/skyWeather.js#L42-L62",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 42
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 76,
            "file_path": "scripts/verify-scene-depth-color-pass.mjs",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/scripts/verify-scene-depth-color-pass.mjs#L56-L76",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 56
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  38. 38
    +4:40Code GrepCode navigationthree“class AnimationClip”191 msCompleted⌄

    class AnimationClip

    Started
    Aug 7, 2026, 1:18:34 PM UTC
    Ended
    Aug 7, 2026, 1:18:35 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/animation/AnimationClip.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 25,
          "file_path": "src/animation/AnimationClip.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationClip.js#L5-L25",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 5
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationClip.js"
        }
      ],
      "pattern": "class AnimationClip",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/animation/AnimationClip.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 25,
            "file_path": "src/animation/AnimationClip.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationClip.js#L5-L25",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 5
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  39. 39
    +4:41Code GrepCode navigationthree“constructor(”125 msCompleted⌄

    constructor(

    Started
    Aug 7, 2026, 1:18:35 PM UTC
    Ended
    Aug 7, 2026, 1:18:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/animation/AnimationAction.js",
        "src/animation/AnimationClip.js",
        "src/animation/AnimationClip.js",
        "src/animation/AnimationMixer.js",
        "src/animation/KeyframeTrack.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 25,
          "file_path": "src/animation/AnimationAction.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L9-L25",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 9
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 39,
          "file_path": "src/animation/AnimationClip.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationClip.js#L23-L39",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 23
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 399,
          "file_path": "src/animation/AnimationClip.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationClip.js#L383-L399",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 383
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 31,
          "file_path": "src/animation/AnimationMixer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationMixer.js#L15-L31",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 15
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37,
          "file_path": "src/animation/KeyframeTrack.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/KeyframeTrack.js#L21-L37",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 21
        }
      ],
      "returned_matches": 5,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/KeyframeTrack.js"
        },
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationMixer.js"
        },
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationAction.js"
        },
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationClip.js"
        }
      ],
      "pattern": "constructor(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/animation/AnimationAction.js",
          "src/animation/AnimationClip.js",
          "src/animation/AnimationClip.js",
          "src/animation/AnimationMixer.js",
          "src/animation/KeyframeTrack.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 25,
            "file_path": "src/animation/AnimationAction.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L9-L25",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 9
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 39,
            "file_path": "src/animation/AnimationClip.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationClip.js#L23-L39",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 23
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 399,
            "file_path": "src/animation/AnimationClip.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationClip.js#L383-L399",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 383
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 31,
            "file_path": "src/animation/AnimationMixer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationMixer.js#L15-L31",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 15
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37,
            "file_path": "src/animation/KeyframeTrack.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/KeyframeTrack.js#L21-L37",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 21
          }
        ],
        "returned_matches": 5,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  40. 40
    +4:43Code GrepCode navigationthree“setRenderTarget”240 msCompleted⌄

    setRenderTarget

    Started
    Aug 7, 2026, 1:18:37 PM UTC
    Ended
    Aug 7, 2026, 1:18:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/objects/Reflector.js",
        "examples/jsm/objects/Reflector.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 232,
          "file_path": "examples/jsm/objects/Reflector.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Reflector.js#L224-L232",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 224
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 242,
          "file_path": "examples/jsm/objects/Reflector.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Reflector.js#L234-L242",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 234
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "examples/jsm/objects/Reflector.js"
        }
      ],
      "pattern": "setRenderTarget",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/objects/Reflector.js",
          "examples/jsm/objects/Reflector.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 232,
            "file_path": "examples/jsm/objects/Reflector.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Reflector.js#L224-L232",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 224
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 242,
            "file_path": "examples/jsm/objects/Reflector.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Reflector.js#L234-L242",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 234
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  41. 41
    +4:44Code GrepCode navigationcall-me-sensei/toonlab“fresnel”981 msNo result⌄

    fresnel

    Started
    Aug 7, 2026, 1:18:38 PM UTC
    Ended
    Aug 7, 2026, 1:18:39 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/call-me-sensei/toonlab

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "examples/**/*.js"
        }
      ],
      "pattern": "fresnel",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/call-me-sensei/toonlab",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  42. 42
    +4:47Code GrepCode navigationthree“parseTrackName”96 msCompleted⌄

    parseTrackName

    Started
    Aug 7, 2026, 1:18:42 PM UTC
    Ended
    Aug 7, 2026, 1:18:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/animation/PropertyBinding.js",
        "src/animation/PropertyBinding.js",
        "src/animation/PropertyBinding.js",
        "src/animation/PropertyBinding.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 52,
          "file_path": "src/animation/PropertyBinding.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L32-L52",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 32
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 142,
          "file_path": "src/animation/PropertyBinding.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L122-L142",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 122
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 190,
          "file_path": "src/animation/PropertyBinding.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L170-L190",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 170
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 219,
          "file_path": "src/animation/PropertyBinding.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L199-L219",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 199
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/PropertyBinding.js"
        }
      ],
      "pattern": "parseTrackName",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/animation/PropertyBinding.js",
          "src/animation/PropertyBinding.js",
          "src/animation/PropertyBinding.js",
          "src/animation/PropertyBinding.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 52,
            "file_path": "src/animation/PropertyBinding.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L32-L52",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 32
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 142,
            "file_path": "src/animation/PropertyBinding.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L122-L142",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 122
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 190,
            "file_path": "src/animation/PropertyBinding.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L170-L190",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 170
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 219,
            "file_path": "src/animation/PropertyBinding.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/PropertyBinding.js#L199-L219",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 199
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  43. 43
    +4:47Code GrepCode navigationcall-me-sensei/toonlab“rim”980 msCompleted⌄

    rim

    Started
    Aug 7, 2026, 1:18:42 PM UTC
    Ended
    Aug 7, 2026, 1:18:43 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/call-me-sensei/toonlab

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/fauna-demo/main.js",
        "examples/outdoor-world/main.js",
        "examples/outdoor-world/main.js",
        "examples/outdoor-world/main.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 216,
          "file_path": "examples/fauna-demo/main.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/fauna-demo/main.js#L196-L216",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 196
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 314,
          "file_path": "examples/outdoor-world/main.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/outdoor-world/main.js#L294-L314",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 294
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 463,
          "file_path": "examples/outdoor-world/main.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/outdoor-world/main.js#L443-L463",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 443
        },
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 501,
          "file_path": "examples/outdoor-world/main.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/outdoor-world/main.js#L481-L501",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 481
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "examples/**/*.js"
        }
      ],
      "pattern": "rim",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/call-me-sensei/toonlab",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/fauna-demo/main.js",
          "examples/outdoor-world/main.js",
          "examples/outdoor-world/main.js",
          "examples/outdoor-world/main.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 216,
            "file_path": "examples/fauna-demo/main.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/fauna-demo/main.js#L196-L216",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 196
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 314,
            "file_path": "examples/outdoor-world/main.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/outdoor-world/main.js#L294-L314",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 294
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 463,
            "file_path": "examples/outdoor-world/main.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/outdoor-world/main.js#L443-L463",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 443
          },
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 501,
            "file_path": "examples/outdoor-world/main.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/outdoor-world/main.js#L481-L501",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 481
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  44. 44
    +4:48PKG InfoPackage intelligencepkg:npm:three-mesh-bvh749 msCompleted⌄
    Started
    Aug 7, 2026, 1:18:43 PM UTC
    Ended
    Aug 7, 2026, 1:18:43 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh

    Result summary

    {
      "outcome": "result_returned",
      "packages": [
        "npm:three-mesh-bvh"
      ],
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "name": "three-mesh-bvh",
      "registry": "npm"
    }
    Response⌄

    Response payload

    {
      "summary": {
        "outcome": "result_returned",
        "packages": [
          "npm:three-mesh-bvh"
        ],
        "status": "success"
      },
      "title": null,
      "content": null
    }
  45. 45
    +4:52Get ExampleGenerated examplethree.js screen space outline post-process depth texture and normal render target sobel edge detection ShaderPass WebGLRenderTarget DepthTexture MeshNormalMaterial prepass2 sources33 sCompleted⌄

    three.js screen space outline post-process depth texture and normal render target sobel edge detection ShaderPass WebGLRenderTarget DepthTexture MeshNormalMaterial prepass · javascript · strict

    Started
    Aug 7, 2026, 1:18:47 PM UTC
    Ended
    Aug 7, 2026, 1:19:20 PM UTC
    Outcome
    Result returned
    Targets
    2

    three.js Depth-and-Normal Sobel Screen-Space Outline

    import * as THREE from 'three';
    import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
    import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
    import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
    import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js';
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.outputColorSpace = THREE.SRGBColorSpace;
    document.body.appendChild(renderer.domElement);
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x20242b);
    
    const camera = new THREE.PerspectiveCamera(
      50,
      window.innerWidth / window.innerHeight,
      0.1,
      100
    );
    camera.position.set(4, 3, 6);
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.target.set(0, 0.8, 0);
    controls.update();
    
    scene.add(new THREE.HemisphereLight(0xffffff, 0x334455, 2));
    const keyLight = new THREE.DirectionalLight(0xffffff, 3);
    keyLight.position.set(4, 6, 3);
    scene.add(keyLight);
    
    const material = new THREE.MeshStandardMaterial({
      color: 0x4e9cff,
      roughness: 0.72,
      metalness: 0.05
    });
    
    const cube = new THREE.Mesh(new THREE.BoxGeometry(1.4, 1.4, 1.4), material);
    cube.position.y = 0.8;
    scene.add(cube);
    
    const sphere = new THREE.Mesh(new THREE.SphereGeometry(0.85, 64, 32), material);
    sphere.position.set(-1.8, 0.85, 0.2);
    scene.add(sphere);
    
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(20, 20),
      new THREE.MeshStandardMaterial({ color: 0x454b55, roughness: 1 })
    );
    ground.rotation.x = -Math.PI / 2;
    scene.add(ground);
    
    const normalMaterial = new THREE.MeshNormalMaterial({
      side: THREE.DoubleSide
    });
    
    const depthTarget = new THREE.WebGLRenderTarget(1, 1, {
      minFilter: THREE.NearestFilter,
      magFilter: THREE.NearestFilter,
      format: THREE.RGBAFormat,
      depthBuffer: true,
      stencilBuffer: false
    });
    depthTarget.depthTexture = new THREE.DepthTexture(1, 1);
    depthTarget.depthTexture.format = THREE.DepthFormat;
    depthTarget.depthTexture.type = THREE.UnsignedShortType;
    depthTarget.depthTexture.minFilter = THREE.NearestFilter;
    depthTarget.depthTexture.magFilter = THREE.NearestFilter;
    
    const normalTarget = new THREE.WebGLRenderTarget(1, 1, {
      minFilter: THREE.LinearFilter,
      magFilter: THREE.LinearFilter,
      format: THREE.RGBAFormat,
      depthBuffer: false,
      stencilBuffer: false
    });
    normalTarget.texture.colorSpace = THREE.NoColorSpace;
    
    const outlineShader = {
      uniforms: {
        tDiffuse: { value: null },
        tDepth: { value: depthTarget.depthTexture },
        tNormal: { value: normalTarget.texture },
        texelSize: { value: new THREE.Vector2() },
        depthStrength: { value: 3.0 },
        normalStrength: { value: 1.35 },
        threshold: { value: 0.08 },
        lineColor: { value: new THREE.Color(0x050505) }
      },
    
      vertexShader: `
        varying vec2 vUv;
        void main() {
          vUv = uv;
          gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
        }
      `,
    
      fragmentShader: `
        uniform sampler2D tDiffuse;
        uniform sampler2D tDepth;
        uniform sampler2D tNormal;
        uniform vec2 texelSize;
        uniform float depthStrength;
        uniform float normalStrength;
        uniform float threshold;
        uniform vec3 lineColor;
        varying vec2 vUv;
    
        float depthAt(vec2 uv) {
          return texture2D(tDepth, uv).r;
        }
    
        vec3 normalAt(vec2 uv) {
          return normalize(texture2D(tNormal, uv).xyz * 2.0 - 1.0);
        }
    
        void main() {
          vec4 source = texture2D(tDiffuse, vUv);
          float centerDepth = depthAt(vUv);
          vec3 centerNormal = normalAt(vUv);
    
          // Background has no geometry in the depth prepass.
          if (centerDepth >= 0.99999) {
            gl_FragColor = source;
            return;
          }
    
          vec2 offsets[8];
          offsets[0] = vec2(-1.0, -1.0);
          offsets[1] = vec2( 0.0, -1.0);
          offsets[2] = vec2( 1.0, -1.0);
          offsets[3] = vec2(-1.0,  0.0);
          offsets[4] = vec2( 1.0,  0.0);
          offsets[5] = vec2(-1.0,  1.0);
          offsets[6] = vec2( 0.0,  1.0);
          offsets[7] = vec2( 1.0,  1.0);
    
          float depthEdge = 0.0;
          float normalEdge = 0.0;
    
          for (int i = 0; i < 8; i++) {
            vec2 uv = vUv + offsets[i] * texelSize;
            float neighborDepth = depthAt(uv);
            vec3 neighborNormal = normalAt(uv);
    
            // Relative depth difference avoids making distant objects too thick.
            depthEdge = max(depthEdge,
              abs(neighborDepth - centerDepth) /
              max(centerDepth, 0.05));
    
            normalEdge = max(normalEdge,
              1.0 - max(dot(centerNormal, neighborNormal), 0.0));
          }
    
          float edge = max(depthEdge * depthStrength,
                           normalEdge * normalStrength);
          edge = smoothstep(threshold, threshold + 0.12, edge);
    
          gl_FragColor = vec4(mix(source.rgb, lineColor, edge), source.a);
        }
      `
    };
    
    const composer = new EffectComposer(renderer);
    composer.addPass(new RenderPass(scene, camera));
    const outlinePass = new ShaderPass(outlineShader);
    composer.addPass(outlinePass);
    
    function resize() {
      const width = window.innerWidth;
      const height = window.innerHeight;
      const pixelRatio = renderer.getPixelRatio();
    
      camera.aspect = width / height;
      camera.updateProjectionMatrix();
      renderer.setSize(width, height);
      composer.setSize(width, height);
    
      depthTarget.setSize(width * pixelRatio, height * pixelRatio);
      normalTarget.setSize(width * pixelRatio, height * pixelRatio);
      outlinePass.uniforms.texelSize.value.set(
        1 / (width * pixelRatio),
        1 / (height * pixelRatio)
      );
    }
    
    function renderPrepasses() {
      const previousOverride = scene.overrideMaterial;
      const previousTarget = renderer.getRenderTarget();
      const previousAutoClear = renderer.autoClear;
    
      scene.overrideMaterial = normalMaterial;
      renderer.autoClear = true;
    
      renderer.setRenderTarget(depthTarget);
      renderer.clear(true, true, true);
      renderer.render(scene, camera);
    
      renderer.setRenderTarget(normalTarget);
      renderer.clear(true, false, false);
      renderer.render(scene, camera);
    
      scene.overrideMaterial = previousOverride;
      renderer.autoClear = previousAutoClear;
      renderer.setRenderTarget(previousTarget);
    }
    
    function animate() {
      requestAnimationFrame(animate);
      cube.rotation.y += 0.006;
      renderPrepasses();
      composer.render();
    }
    
    window.addEventListener('resize', resize);
    resize();
    animate();
    
    References
    2
    1. mkkellogg/GaussianSplats3DCompatibility between Viewer & PostProcessing Effects

      Relevant to three.js EffectComposer + postprocessing compatibility with depth-related effects: the issue discussion explains depth-buffer interactions and provides concrete workarounds for keeping splats visible when combining composer passes (including depthWrite=false), which is useful context for depth/normal-based outline/Sobel pipelines.

      issueMIT
    2. plusplastic/byRhinoViewwww/app.js

      Only indirect match: a three.js app uses EffectComposer and includes ShaderPass/OutlinePass imports, but the shown file snippet doesn’t implement screen-space outline with depth/normal render targets or Sobel/depth-texture prepasses.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js screen space outline post-process depth texture and normal render target sobel edge detection ShaderPass WebGLRenderTarget DepthTexture MeshNormalMaterial prepass",
      "language": "javascript",
      "license_mode": "strict"
    }
  46. 46
    +4:58Get ExampleGenerated exampleboat buoyancy multi point flotation submerged depth drag angular damping rigid body javascript4 sources23 sCompleted⌄

    boat buoyancy multi point flotation submerged depth drag angular damping rigid body javascript · javascript · strict

    Started
    Aug 7, 2026, 1:18:53 PM UTC
    Ended
    Aug 7, 2026, 1:19:16 PM UTC
    Outcome
    Result returned
    Targets
    4

    Multi-Point Boat Buoyancy for a Rigid Body

    // Multi-point flotation with submerged-depth buoyancy, hydrodynamic drag,
    // and angular damping. The rigid body uses force/torque integration.
    
    class Vec3 {
      constructor(x = 0, y = 0, z = 0) {
        this.x = x; this.y = y; this.z = z;
      }
    
      set(x, y, z) { this.x = x; this.y = y; this.z = z; return this; }
      clone() { return new Vec3(this.x, this.y, this.z); }
      add(v) { this.x += v.x; this.y += v.y; this.z += v.z; return this; }
      sub(v) { this.x -= v.x; this.y -= v.y; this.z -= v.z; return this; }
      multiplyScalar(s) { this.x *= s; this.y *= s; this.z *= s; return this; }
      dot(v) { return this.x * v.x + this.y * v.y + this.z * v.z; }
      cross(v) {
        return new Vec3(
          this.y * v.z - this.z * v.y,
          this.z * v.x - this.x * v.z,
          this.x * v.y - this.y * v.x
        );
      }
      length() { return Math.hypot(this.x, this.y, this.z); }
      normalize() {
        const n = this.length() || 1;
        return this.multiplyScalar(1 / n);
      }
    }
    
    class RigidBody {
      constructor({ mass, inertia = new Vec3(1, 1, 1), position = new Vec3() }) {
        this.mass = mass;
        this.invMass = 1 / mass;
        this.inertia = inertia;
        this.invInertia = new Vec3(1 / inertia.x, 1 / inertia.y, 1 / inertia.z);
        this.position = position;
        this.velocity = new Vec3();
        this.angularVelocity = new Vec3();
        this.force = new Vec3();
        this.torque = new Vec3();
      }
    
      addForceAtWorldPoint(force, point) {
        this.force.add(force);
        this.torque.add(point.clone().sub(this.position).cross(force));
      }
    
      addForce(force) { this.force.add(force); }
      addTorque(torque) { this.torque.add(torque); }
    
      integrate(dt) {
        this.velocity.add(this.force.clone().multiplyScalar(this.invMass * dt));
        this.position.add(this.velocity.clone().multiplyScalar(dt));
    
        this.angularVelocity.x += this.torque.x * this.invInertia.x * dt;
        this.angularVelocity.y += this.torque.y * this.invInertia.y * dt;
        this.angularVelocity.z += this.torque.z * this.invInertia.z * dt;
    
        this.force.set(0, 0, 0);
        this.torque.set(0, 0, 0);
      }
    }
    
    class Boat {
      constructor({ body, waterHeight = 0, volume, samples }) {
        this.body = body;
        this.waterHeight = waterHeight;
        this.volume = volume;
        this.samples = samples;
    
        this.waterDensity = 1000;
        this.gravity = 9.81;
        this.maxSampleDepth = 0.6;
        this.linearDrag = 35;
        this.lateralDrag = 180;
        this.verticalDrag = 80;
        this.angularDamping = new Vec3(45, 30, 45);
      }
    
      // Replace this with a wave-field lookup for non-flat water.
      sampleWaterHeight(x, z) {
        return this.waterHeight + 0.08 * Math.sin(x * 0.7 + z * 0.35);
      }
    
      // Local-to-world transform for a level boat. A quaternion/matrix can be
      // inserted here when the rigid body also integrates orientation.
      localToWorld(localPoint) {
        return this.body.position.clone().add(localPoint);
      }
    
      step(dt) {
        const body = this.body;
        let submergedSamples = 0;
    
        for (const sample of this.samples) {
          const point = this.localToWorld(sample.position);
          const surfaceY = this.sampleWaterHeight(point.x, point.z);
          const depth = surfaceY - point.y;
          if (depth <= 0) continue;
    
          submergedSamples++;
    
          // Ramp force by local submerged depth to avoid discontinuities at entry.
          const submergedFraction = Math.min(depth / this.maxSampleDepth, 1);
          const displacedVolume = this.volume * sample.weight * submergedFraction;
          const buoyancy = this.waterDensity * this.gravity * displacedVolume;
          body.addForceAtWorldPoint(new Vec3(0, buoyancy, 0), point);
    
          // Velocity at the sample includes angular motion: v = vCoM + omega x r.
          const radius = point.clone().sub(body.position);
          const pointVelocity = body.velocity.clone().add(body.angularVelocity.cross(radius));
    
          // Quadratic resistance is applied separately in forward, lateral, and
          // vertical directions, which preserves boat tracking behavior.
          const forward = new Vec3(0, 0, 1);
          const right = new Vec3(1, 0, 0);
          const vertical = new Vec3(0, 1, 0);
          const longitudinalSpeed = pointVelocity.dot(forward);
          const lateralSpeed = pointVelocity.dot(right);
          const verticalSpeed = pointVelocity.dot(vertical);
    
          const drag = new Vec3(
            -longitudinalSpeed * Math.abs(longitudinalSpeed) * this.linearDrag,
            -verticalSpeed * Math.abs(verticalSpeed) * this.verticalDrag,
            -lateralSpeed * Math.abs(lateralSpeed) * this.lateralDrag
          ).multiplyScalar(submergedFraction * sample.weight);
    
          body.addForceAtWorldPoint(drag, point);
        }
    
        // Angular damping prevents wave-induced roll, pitch, and yaw from growing.
        body.addTorque(new Vec3(
          -body.angularVelocity.x * this.angularDamping.x,
          -body.angularVelocity.y * this.angularDamping.y,
          -body.angularVelocity.z * this.angularDamping.z
        ).multiplyScalar(submergedSamples / this.samples.length));
    
        body.integrate(dt);
      }
    }
    
    function createBoat() {
      const body = new RigidBody({
        mass: 900,
        inertia: new Vec3(1200, 1800, 1200),
        position: new Vec3(0, 0.15, 0)
      });
    
      // Points should cover bow, stern, port, and starboard areas. Their weights
      // sum to one and represent each point's share of the hull volume.
      const samples = [
        { position: new Vec3(-0.9, -0.45,  1.8), weight: 0.10 },
        { position: new Vec3( 0.9, -0.45,  1.8), weight: 0.10 },
        { position: new Vec3(-1.2, -0.55,  0.4), weight: 0.15 },
        { position: new Vec3( 1.2, -0.55,  0.4), weight: 0.15 },
        { position: new Vec3(-1.2, -0.55, -1.2), weight: 0.15 },
        { position: new Vec3( 1.2, -0.55, -1.2), weight: 0.15 },
        { position: new Vec3(-0.8, -0.50, -2.0), weight: 0.10 },
        { position: new Vec3( 0.8, -0.50, -2.0), weight: 0.10 }
      ];
    
      return new Boat({ body, volume: 1.0, samples });
    }
    
    const boat = createBoat();
    for (let i = 0; i < 600; i++) {
      boat.step(1 / 60);
    }
    
    console.log({
      position: boat.body.position,
      velocity: boat.body.velocity,
      angularVelocity: boat.body.angularVelocity
    });
    
    References
    4
    1. scalabled/decarlo-boyzsrc/vehicles/dynamics.js

      Directly implements boat-in-water rigid-body buoyancy with submerged depth, buoyancy force, hydrodynamic drag, and angular damping/torque handling in JavaScript (Three.js), including water height sampling and water effects via forces at points.

      codeMIT
    2. scalabled/decarlo-boyzsrc/vehicles/boat.js

      Direct JavaScript implementation of multi-point flotation buoyancy using multiple hull sample points (volume-based buoyancy), submerged-depth checks, plus hydrodynamic drag and angular/yaw/roll/pitch damping for a rigid-body boat.

      codeMIT
    3. Dante83/a-watersrc/js/ocean-system/components/buoyant.js

      Provides a concrete JavaScript A-Frame buoyancy implementation with multi-point flotation probes, force-based (rigid) Archimedes buoyancy including submerged depth sampling, and drag/torque/angluar damping parameters (linearDrag/formDrag/angularDrag/angularFormDrag) relevant to the requested boat buoyancy behavior.

      codeMIT
    4. ryanfitzpatrickio/threejs-playgroundsrc/game/vehicles/BaseVehicle.js

      Strong match: JavaScript implementation of rigid-body boat/water buoyancy with submerged depth, multi-factor water resistance, and angular damping via Rapier forces/torques in BaseVehicle._integrateWater and surrounding body damping setup.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "boat buoyancy multi point flotation submerged depth drag angular damping rigid body javascript",
      "language": "javascript",
      "license_mode": "strict"
    }
  47. 47
    +5:15Code GrepCode navigationthree-mesh-bvh“shapecast”20 sDeferred⌄

    shapecast

    Started
    Aug 7, 2026, 1:19:10 PM UTC
    Ended
    Aug 7, 2026, 1:19:30 PM UTC
    Outcome
    Deferred
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "indexing_ref": "4eca351b-d8f8-4389-b924-9e5aed59c588",
      "next_cursor_present": false,
      "outcome": "deferred",
      "returned_matches": 0,
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "git_ref": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "kind": "code_target",
          "package_name": "three-mesh-bvh",
          "registry": "npm",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "role": "resolved_requested",
          "version": "0.9.14"
        }
      ],
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "example/characterMovement.js"
        }
      ],
      "pattern": "shapecast",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "indexing_ref": "4eca351b-d8f8-4389-b924-9e5aed59c588",
        "next_cursor_present": false,
        "outcome": "deferred",
        "returned_matches": 0,
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "git_ref": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "kind": "code_target",
            "package_name": "three-mesh-bvh",
            "registry": "npm",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "role": "resolved_requested",
            "version": "0.9.14"
          }
        ],
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  48. 48
    +5:20Code GrepCode navigationthree“crossFadeTo(”183 msCompleted⌄

    crossFadeTo(

    Started
    Aug 7, 2026, 1:19:14 PM UTC
    Ended
    Aug 7, 2026, 1:19:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/animation/AnimationAction.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 379,
          "file_path": "src/animation/AnimationAction.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L359-L379",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 359
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationAction.js"
        }
      ],
      "pattern": "crossFadeTo(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/animation/AnimationAction.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 379,
            "file_path": "src/animation/AnimationAction.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L359-L379",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 359
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  49. 49
    +5:24Code GrepCode navigationthree“makeClipAdditive”297 msCompleted⌄

    makeClipAdditive

    Started
    Aug 7, 2026, 1:19:19 PM UTC
    Ended
    Aug 7, 2026, 1:19:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/animation/AnimationUtils.js",
        "src/animation/AnimationUtils.js",
        "src/animation/AnimationUtils.js",
        "src/animation/AnimationUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 261,
          "file_path": "src/animation/AnimationUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L241-L261",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 241
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 488,
          "file_path": "src/animation/AnimationUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L468-L488",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 468
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 490,
          "file_path": "src/animation/AnimationUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L470-L490",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 470
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 496,
          "file_path": "src/animation/AnimationUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L483-L496",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 483
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationUtils.js"
        }
      ],
      "pattern": "makeClipAdditive",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/animation/AnimationUtils.js",
          "src/animation/AnimationUtils.js",
          "src/animation/AnimationUtils.js",
          "src/animation/AnimationUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 261,
            "file_path": "src/animation/AnimationUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L241-L261",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 241
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 488,
            "file_path": "src/animation/AnimationUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L468-L488",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 468
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 490,
            "file_path": "src/animation/AnimationUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L470-L490",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 470
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 496,
            "file_path": "src/animation/AnimationUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationUtils.js#L483-L496",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 483
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  50. 50
    +5:34Code ReadCode navigationthree99 msCompleted⌄
    Started
    Aug 7, 2026, 1:19:29 PM UTC
    Ended
    Aug 7, 2026, 1:19:29 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 100,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 100,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "examples/jsm/postprocessing/ShaderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L1-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 135
    }
    Request⌄

    Request payload

    {
      "end_line": 100,
      "file_path": "examples/jsm/postprocessing/ShaderPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 100,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 100,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "examples/jsm/postprocessing/ShaderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L1-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 135
      },
      "title": null,
      "content": null
    }
  51. 51
    +5:35Code ReadCode navigationthree90 msCompleted⌄
    Started
    Aug 7, 2026, 1:19:30 PM UTC
    Ended
    Aug 7, 2026, 1:19:30 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 86,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 47,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 86,
          "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L40-L86",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        }
      ],
      "start_line": 40,
      "status": "success",
      "total_lines": 86
    }
    Request⌄

    Request payload

    {
      "end_line": 100,
      "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 40,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 86,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 47,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 86,
            "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L40-L86",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          }
        ],
        "start_line": 40,
        "status": "success",
        "total_lines": 86
      },
      "title": null,
      "content": null
    }
  52. 52
    +5:47Code ReadCode navigationthree240 msCompleted⌄
    Started
    Aug 7, 2026, 1:19:42 PM UTC
    Ended
    Aug 7, 2026, 1:19:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 80,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 80,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 80,
          "file_path": "examples/jsm/postprocessing/RenderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js#L1-L80",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 193
    }
    Request⌄

    Request payload

    {
      "end_line": 80,
      "file_path": "examples/jsm/postprocessing/RenderPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 80,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 80,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 80,
            "file_path": "examples/jsm/postprocessing/RenderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js#L1-L80",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 193
      },
      "title": null,
      "content": null
    }
  53. 53
    +5:57Get ExampleGenerated examplethree.js stylized gradient sky dome ShaderMaterial BackSide sun disc procedural clouds fbm noise fragment shader2 sources26 sCompleted⌄

    three.js stylized gradient sky dome ShaderMaterial BackSide sun disc procedural clouds fbm noise fragment shader · javascript · strict

    Started
    Aug 7, 2026, 1:19:52 PM UTC
    Ended
    Aug 7, 2026, 1:20:18 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Stylized Sky Dome with FBM Clouds and Sun Disc

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.1, 1000);
    camera.position.set(0, 2, 8);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    const skyVertexShader = /* glsl */ `
    varying vec3 vDirection;
    
    void main() {
      vDirection = normalize(position);
      gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
    }
    `;
    
    const skyFragmentShader = /* glsl */ `
    uniform vec3 topColor;
    uniform vec3 horizonColor;
    uniform vec3 cloudColor;
    uniform vec3 sunDirection;
    uniform float time;
    uniform float cloudAmount;
    uniform float cloudSpeed;
    
    varying vec3 vDirection;
    
    float hash(vec2 p) {
      p = fract(p * vec2(123.34, 456.21));
      p += dot(p, p + 45.32);
      return fract(p.x * p.y);
    }
    
    float noise(vec2 p) {
      vec2 cell = floor(p);
      vec2 local = fract(p);
      local = local * local * (3.0 - 2.0 * local);
    
      float a = hash(cell);
      float b = hash(cell + vec2(1.0, 0.0));
      float c = hash(cell + vec2(0.0, 1.0));
      float d = hash(cell + vec2(1.0, 1.0));
    
      return mix(mix(a, b, local.x), mix(c, d, local.x), local.y);
    }
    
    float fbm(vec2 p) {
      float value = 0.0;
      float amplitude = 0.5;
    
      for (int i = 0; i < 5; i++) {
        value += amplitude * noise(p);
        p = p * 2.0 + 17.13;
        amplitude *= 0.5;
      }
    
      return value;
    }
    
    void main() {
      vec3 direction = normalize(vDirection);
    
      // Smooth vertical gradient: horizonColor at eye level, topColor overhead.
      float height = smoothstep(-0.15, 0.85, direction.y);
      vec3 color = mix(horizonColor, topColor, height);
    
      // Project procedural cloud coordinates onto the upper hemisphere.
      float upperHemisphere = smoothstep(0.02, 0.32, direction.y);
      vec2 cloudUv = direction.xz / max(direction.y, 0.12);
      cloudUv = cloudUv * 1.8 + vec2(time * cloudSpeed, time * cloudSpeed * 0.45);
    
      float cloudNoise = fbm(cloudUv);
      float clouds = smoothstep(0.52 - cloudAmount, 0.72 - cloudAmount, cloudNoise);
      clouds *= upperHemisphere;
    
      color = mix(color, cloudColor, clouds * 0.72);
    
      // Warm glow around the sun direction.
      float sunDot = max(dot(direction, normalize(sunDirection)), 0.0);
      float sunGlow = pow(sunDot, 18.0) * 0.24;
      color += vec3(1.0, 0.48, 0.16) * sunGlow;
    
      gl_FragColor = vec4(color, 1.0);
    }
    `;
    
    const sunVertexShader = /* glsl */ `
    varying vec2 vUv;
    
    void main() {
      vUv = uv;
      gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
    }
    `;
    
    const sunFragmentShader = /* glsl */ `
    uniform vec3 sunColor;
    uniform float intensity;
    
    varying vec2 vUv;
    
    void main() {
      float distanceFromCenter = distance(vUv, vec2(0.5));
      float disc = 1.0 - smoothstep(0.42, 0.5, distanceFromCenter);
      float glow = pow(max(0.0, 1.0 - distanceFromCenter * 2.0), 3.0) * 0.35;
      float alpha = max(disc, glow);
    
      if (alpha < 0.01) discard;
      gl_FragColor = vec4(sunColor * (disc + glow) * intensity, alpha);
    }
    `;
    
    const skyUniforms = {
      topColor: { value: new THREE.Color('#163c72') },
      horizonColor: { value: new THREE.Color('#f2a66f') },
      cloudColor: { value: new THREE.Color('#fff1d2') },
      sunDirection: { value: new THREE.Vector3(0.55, 0.45, -0.75).normalize() },
      time: { value: 0 },
      cloudAmount: { value: 0.22 },
      cloudSpeed: { value: 0.006 },
    };
    
    const skyMaterial = new THREE.ShaderMaterial({
      vertexShader: skyVertexShader,
      fragmentShader: skyFragmentShader,
      uniforms: skyUniforms,
      side: THREE.BackSide,
      depthWrite: false,
      fog: false,
    });
    
    const sky = new THREE.Mesh(
      new THREE.SphereGeometry(200, 64, 32),
      skyMaterial,
    );
    scene.add(sky);
    
    const sunMaterial = new THREE.ShaderMaterial({
      vertexShader: sunVertexShader,
      fragmentShader: sunFragmentShader,
      uniforms: {
        sunColor: { value: new THREE.Color('#fff4bf') },
        intensity: { value: 2.2 },
      },
      transparent: true,
      depthWrite: false,
      blending: THREE.AdditiveBlending,
      side: THREE.DoubleSide,
    });
    
    const sun = new THREE.Mesh(new THREE.PlaneGeometry(12, 12), sunMaterial);
    const sunDistance = 120;
    sun.position.copy(skyUniforms.sunDirection.value).multiplyScalar(sunDistance);
    sun.renderOrder = 2;
    scene.add(sun);
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
    
      const elapsed = clock.getElapsedTime();
      skyUniforms.time.value = elapsed;
    
      // Keep the dome centered on the camera and the sun plane facing the camera.
      sky.position.copy(camera.position);
      sun.lookAt(camera.position);
    
      renderer.render(scene, camera);
    }
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    animate();
    
    References
    2
    1. jimmyorr/chill-flightsky.js

      Three.js ShaderMaterial sky dome/backside gradient shader wiring with uniforms for sun direction, and procedural sky effects including a noise texture suitable for clouds-style fbm; strong direct match to stylized gradient sky dome ShaderMaterial and procedural noise/cloud parameters.

      codeMIT
    2. jamescockburn47/moorsteadsrc/sky.js

      Strong, directly applicable three.js implementation: uses ShaderMaterial with side: BackSide for a procedural gradient sky dome, includes fbm-style noise clouds in the fragment shader, sun disc sprites, and integrates BackSide dome rendering—matches the requested symbols and shader approach in JavaScript.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js stylized gradient sky dome ShaderMaterial BackSide sun disc procedural clouds fbm noise fragment shader",
      "language": "javascript",
      "license_mode": "strict"
    }
  54. 54
    +5:59SearchCode navigationDante83/a-watergerstner wave displacement height sampling buoyancy20 sDeferred⌄

    gerstner wave displacement height sampling buoyancy

    Started
    Aug 7, 2026, 1:19:53 PM UTC
    Ended
    Aug 7, 2026, 1:20:14 PM UTC
    Outcome
    Deferred
    Targets
    1
    repo:https://github.com/Dante83/a-water

    Result summary

    {
      "completed": false,
      "indexing_targets": [
        {
          "indexing_ref": "2d947304-cdeb-4992-a29e-4a03dd5b9ee2",
          "target": "github:dante83/a-water"
        }
      ],
      "outcome": "deferred",
      "search_ref_present": true,
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "allow_partial_results": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "limit": 10,
      "offset": 0,
      "query": "gerstner wave displacement height sampling buoyancy",
      "sources": [
        "auto"
      ],
      "targets": [
        {
          "repo_url": "https://github.com/Dante83/a-water"
        }
      ],
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "completed": false,
        "indexing_targets": [
          {
            "indexing_ref": "2d947304-cdeb-4992-a29e-4a03dd5b9ee2",
            "target": "github:dante83/a-water"
          }
        ],
        "outcome": "deferred",
        "search_ref_present": true,
        "status": "success"
      },
      "title": null,
      "content": null
    }
  55. 55
    +6:02Get ExampleGenerated exampleinvert Gerstner wave horizontal displacement fixed point iteration water surface height at world position1 source23 sCompleted⌄

    invert Gerstner wave horizontal displacement fixed point iteration water surface height at world position · rust · strict

    Started
    Aug 7, 2026, 1:19:57 PM UTC
    Ended
    Aug 7, 2026, 1:20:20 PM UTC
    Outcome
    Result returned
    Targets
    1

    Invert Gerstner Horizontal Displacement with Fixed-Point Iteration

    use std::f32::consts::TAU;
    
    #[derive(Clone, Copy, Debug)]
    struct Vec2 {
        x: f32,
        z: f32,
    }
    
    impl Vec2 {
        const ZERO: Self = Self { x: 0.0, z: 0.0 };
    
        fn dot(self, other: Self) -> f32 {
            self.x * other.x + self.z * other.z
        }
    
        fn length_squared(self) -> f32 {
            self.dot(self)
        }
    }
    
    impl std::ops::Add for Vec2 {
        type Output = Self;
    
        fn add(self, rhs: Self) -> Self {
            Self {
                x: self.x + rhs.x,
                z: self.z + rhs.z,
            }
        }
    }
    
    impl std::ops::Sub for Vec2 {
        type Output = Self;
    
        fn sub(self, rhs: Self) -> Self {
            Self {
                x: self.x - rhs.x,
                z: self.z - rhs.z,
            }
        }
    }
    
    impl std::ops::Mul<f32> for Vec2 {
        type Output = Self;
    
        fn mul(self, rhs: f32) -> Self {
            Self {
                x: self.x * rhs,
                z: self.z * rhs,
            }
        }
    }
    
    #[derive(Clone, Copy)]
    struct Wave {
        direction: Vec2, // Must be normalized.
        amplitude: f32,
        wavelength: f32,
        steepness: f32,
        speed: f32,
    }
    
    impl Wave {
        fn packed(self) -> PackedWave {
            let k = TAU / self.wavelength.max(1e-4);
            let q = if self.amplitude > 0.0 {
                self.steepness / (k * self.amplitude)
            } else {
                0.0
            };
    
            PackedWave {
                direction: self.direction,
                amplitude: self.amplitude,
                k,
                q,
                omega: self.speed * k,
            }
        }
    }
    
    #[derive(Clone, Copy)]
    struct PackedWave {
        direction: Vec2,
        amplitude: f32,
        k: f32,
        q: f32,
        omega: f32,
    }
    
    struct Surface {
        waves: Vec<PackedWave>,
        max_iterations: usize,
        tolerance: f32,
    }
    
    impl Surface {
        fn new(waves: Vec<Wave>) -> Self {
            Self {
                waves: waves.into_iter().map(Wave::packed).collect(),
                max_iterations: 32,
                tolerance: 1e-5,
            }
        }
    
        // Horizontal Gerstner displacement for an undisturbed position `base`.
        fn gather(&self, base: Vec2, time: f32) -> Vec2 {
            self.waves.iter().fold(Vec2::ZERO, |offset, wave| {
                let phase = wave.k * wave.direction.dot(base) - wave.omega * time;
                offset + wave.direction * (wave.q * wave.amplitude * phase.cos())
            })
        }
    
        // Solve query = base + gather(base, time) for the undisturbed position.
        fn base_under(&self, query: Vec2, time: f32) -> Vec2 {
            let mut base = query;
    
            for _ in 0..self.max_iterations {
                let next = query - self.gather(base, time);
                let delta = next - base;
                base = next;
    
                if delta.length_squared() <= self.tolerance * self.tolerance {
                    break;
                }
            }
    
            base
        }
    
        // Once the inverse horizontal mapping is known, evaluate the vertical sum.
        fn height_at(&self, world_xz: Vec2, time: f32, water_level: f32) -> f32 {
            let base = self.base_under(world_xz, time);
    
            water_level
                + self.waves.iter().fold(0.0, |height, wave| {
                    let phase = wave.k * wave.direction.dot(base) - wave.omega * time;
                    height + wave.amplitude * phase.sin()
                })
        }
    }
    
    fn main() {
        let surface = Surface::new(vec![
            Wave {
                direction: Vec2 { x: 1.0, z: 0.0 },
                amplitude: 0.8,
                wavelength: 12.0,
                steepness: 0.35,
                speed: 1.5,
            },
            Wave {
                direction: Vec2 { x: 0.0, z: 1.0 },
                amplitude: 0.35,
                wavelength: 5.0,
                steepness: 0.2,
                speed: 2.2,
            },
        ]);
    
        let world_position = Vec2 { x: 3.0, z: -1.5 };
        let time = 4.0;
        let height = surface.height_at(world_position, time, 2.0);
    
        println!(
            "water height at ({:.2}, {:.2}) = {:.4}",
            world_position.x, world_position.z, height
        );
    }
    
    References
    1
    1. Sloptimum/forgecrates/engine-core/src/water.rs

      Provides a concrete inverse mapping for Gerstner waves: fixed-point iteration to invert horizontal displacement (`base_under`) and then compute world surface height/normal (`sample_at`) at an (x,z) position, matching the query intent closely.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "invert Gerstner wave horizontal displacement fixed point iteration water surface height at world position",
      "language": "rust",
      "license_mode": "strict"
    }
  56. 56
    +6:24Code GrepCode navigationthree-mesh-bvh“shapecast”55 sCompleted⌄

    shapecast

    Started
    Aug 7, 2026, 1:20:19 PM UTC
    Ended
    Aug 7, 2026, 1:21:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "example/characterMovement.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 378,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L358-L378",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 358
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "example/characterMovement.js"
        }
      ],
      "pattern": "shapecast",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 60000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "example/characterMovement.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 378,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L358-L378",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 358
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  57. 57
    +6:28Code ReadCode navigationthree-mesh-bvh219 msCompleted⌄
    Started
    Aug 7, 2026, 1:20:23 PM UTC
    Ended
    Aug 7, 2026, 1:20:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "end_line": 449,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 150,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 449,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L300-L449",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 300
        }
      ],
      "start_line": 300,
      "status": "success",
      "total_lines": 479
    }
    Request⌄

    Request payload

    {
      "end_line": 449,
      "file_path": "example/characterMovement.js",
      "package_name": "three-mesh-bvh",
      "registry": "npm",
      "start_line": 300,
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 449,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 150,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 449,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L300-L449",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 300
          }
        ],
        "start_line": 300,
        "status": "success",
        "total_lines": 479
      },
      "title": null,
      "content": null
    }
  58. 58
    +6:30Code GrepCode navigationthree“#include <lights_fragment_”208 msCompleted⌄

    #include <lights_fragment_

    Started
    Aug 7, 2026, 1:20:24 PM UTC
    Ended
    Aug 7, 2026, 1:20:24 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 190,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L182-L190",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 182
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 191,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L183-L191",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 183
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 192,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L184-L192",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 184
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js"
        }
      ],
      "pattern": "#include <lights_fragment_",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 190,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L182-L190",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 182
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 191,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L183-L191",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 183
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 192,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L184-L192",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 184
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  59. 59
    +6:33Code ReadCode navigationthree154 msCompleted⌄
    Started
    Aug 7, 2026, 1:20:28 PM UTC
    Ended
    Aug 7, 2026, 1:20:28 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 215,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 30,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 215,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L186-L215",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 186
        }
      ],
      "start_line": 186,
      "status": "success",
      "total_lines": 224
    }
    Request⌄

    Request payload

    {
      "end_line": 215,
      "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 186,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 215,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 30,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 215,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L186-L215",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 186
          }
        ],
        "start_line": 186,
        "status": "success",
        "total_lines": 224
      },
      "title": null,
      "content": null
    }
  60. 60
    +6:37Code GrepCode navigationthree“damp”434 msCompleted⌄

    damp

    Started
    Aug 7, 2026, 1:20:31 PM UTC
    Ended
    Aug 7, 2026, 1:20:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/MathUtils.js",
        "src/math/MathUtils.js",
        "src/math/MathUtils.js",
        "src/math/MathUtils.js",
        "src/math/MathUtils.js",
        "src/math/MathUtils.js",
        "src/math/MathUtils.js",
        "src/math/MathUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 134,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L116-L134",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 116
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 134,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L116-L134",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 116
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 143,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L125-L143",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 125
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 564,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L546-L564",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 546
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 564,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L546-L564",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 546
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 575,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L557-L575",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 557
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 575,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L557-L575",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 557
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 743,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L725-L743",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 725
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 9,
      "context_lines_before": 9,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/MathUtils.js"
        }
      ],
      "pattern": "damp",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/MathUtils.js",
          "src/math/MathUtils.js",
          "src/math/MathUtils.js",
          "src/math/MathUtils.js",
          "src/math/MathUtils.js",
          "src/math/MathUtils.js",
          "src/math/MathUtils.js",
          "src/math/MathUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 134,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L116-L134",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 116
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 134,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L116-L134",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 116
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 143,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L125-L143",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 125
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 564,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L546-L564",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 546
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 564,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L546-L564",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 546
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 575,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L557-L575",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 557
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 575,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L557-L575",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 557
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 743,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L725-L743",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 725
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  61. 61
    +6:39Code ReadCode navigationthree47 msCompleted⌄
    Started
    Aug 7, 2026, 1:20:33 PM UTC
    Ended
    Aug 7, 2026, 1:20:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 224,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 10,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 224,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L215-L224",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 215
        }
      ],
      "start_line": 215,
      "status": "success",
      "total_lines": 224
    }
    Request⌄

    Request payload

    {
      "end_line": 224,
      "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 215,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 224,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 10,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 224,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L215-L224",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 215
          }
        ],
        "start_line": 215,
        "status": "success",
        "total_lines": 224
      },
      "title": null,
      "content": null
    }
  62. 62
    +6:44Code ReadCode navigationthree228 msCompleted⌄
    Started
    Aug 7, 2026, 1:20:38 PM UTC
    Ended
    Aug 7, 2026, 1:20:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 75,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 75,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 75,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L1-L75",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 213
    }
    Request⌄

    Request payload

    {
      "end_line": 75,
      "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 75,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 75,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 75,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L1-L75",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 213
      },
      "title": null,
      "content": null
    }
  63. 63
    +6:50Code ReadCode navigationthree332 msCompleted⌄
    Started
    Aug 7, 2026, 1:20:45 PM UTC
    Ended
    Aug 7, 2026, 1:20:45 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 180,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 101,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 180,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L80-L180",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 80
        }
      ],
      "start_line": 80,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 180,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 80,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 180,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 101,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 180,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L80-L180",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 80
          }
        ],
        "start_line": 80,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  64. 64
    +6:54Code GrepCode navigationDante83/a-water“LOD”577 msCompleted⌄

    LOD

    Started
    Aug 7, 2026, 1:20:48 PM UTC
    Ended
    Aug 7, 2026, 1:20:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/Dante83/a-water

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/js/ocean-system/components/buoyant.js",
        "src/js/ocean-system/components/ocean-shadow-csm.js",
        "src/js/ocean-system/components/ocean-splash.js",
        "src/js/ocean-system/luts/ocean-height-composer.js",
        "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
        "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
        "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
        "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
        "src/js/ocean-system/materials/ocean-material/water-shader.js",
        "src/js/ocean-system/materials/ocean-material/water-shader.js",
        "src/js/ocean-system/materials/ocean-material/water-shader.js",
        "src/js/ocean-system/materials/ocean-material/water-shader.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 19,
          "file_path": "src/js/ocean-system/components/buoyant.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/buoyant.js#L7-L19",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 7
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 57,
          "file_path": "src/js/ocean-system/components/ocean-shadow-csm.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-shadow-csm.js#L45-L57",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 45
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 929,
          "file_path": "src/js/ocean-system/components/ocean-splash.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-splash.js#L917-L929",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 917
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 67,
          "file_path": "src/js/ocean-system/luts/ocean-height-composer.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/luts/ocean-height-composer.js#L55-L67",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 55
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 89,
          "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L77-L89",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 77
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 93,
          "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L81-L93",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 81
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 94,
          "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L82-L94",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 82
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 94,
          "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L82-L94",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 82
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 352,
          "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L340-L352",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 340
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1381,
          "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L1369-L1381",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1369
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1815,
          "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L1803-L1815",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1803
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 2224,
          "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L2212-L2224",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 2212
        }
      ],
      "returned_matches": 12,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "kind": "code_target",
          "repo_url": "https://github.com/dante83/a-water",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 12,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
      "include_hidden": false,
      "max_matches": 18,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/js/ocean-system/**/*.js"
        }
      ],
      "pattern": "LOD",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/Dante83/a-water",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/js/ocean-system/components/buoyant.js",
          "src/js/ocean-system/components/ocean-shadow-csm.js",
          "src/js/ocean-system/components/ocean-splash.js",
          "src/js/ocean-system/luts/ocean-height-composer.js",
          "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
          "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "src/js/ocean-system/materials/ocean-material/water-shader.js",
          "src/js/ocean-system/materials/ocean-material/water-shader.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 19,
            "file_path": "src/js/ocean-system/components/buoyant.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/buoyant.js#L7-L19",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 7
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 57,
            "file_path": "src/js/ocean-system/components/ocean-shadow-csm.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-shadow-csm.js#L45-L57",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 45
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 929,
            "file_path": "src/js/ocean-system/components/ocean-splash.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-splash.js#L917-L929",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 917
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 67,
            "file_path": "src/js/ocean-system/luts/ocean-height-composer.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/luts/ocean-height-composer.js#L55-L67",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 55
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 89,
            "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L77-L89",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 77
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 93,
            "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L81-L93",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 81
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 94,
            "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L82-L94",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 82
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 94,
            "file_path": "src/js/ocean-system/materials/ocean-material/horizon-skirt.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/horizon-skirt.js#L82-L94",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 82
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 352,
            "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L340-L352",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 340
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1381,
            "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L1369-L1381",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1369
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1815,
            "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L1803-L1815",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1803
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 2224,
            "file_path": "src/js/ocean-system/materials/ocean-material/water-shader.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/materials/ocean-material/water-shader.js#L2212-L2224",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 2212
          }
        ],
        "returned_matches": 12,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "kind": "code_target",
            "repo_url": "https://github.com/dante83/a-water",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 12,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  65. 65
    +6:55Code ReadCode navigationthree147 msCompleted⌄
    Started
    Aug 7, 2026, 1:20:50 PM UTC
    Ended
    Aug 7, 2026, 1:20:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 86,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 27,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 86,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L60-L86",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60
        }
      ],
      "start_line": 60,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 86,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 60,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 86,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 27,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 86,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L60-L86",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60
          }
        ],
        "start_line": 60,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  66. 66
    +6:57Get ExampleGenerated exampleprocedural low-poly character built from Object3D group hierarchy with limb pivot joints animated in three.js walk cycle3 sources30 sCompleted⌄

    procedural low-poly character built from Object3D group hierarchy with limb pivot joints animated in three.js walk cycle · javascript · strict

    Started
    Aug 7, 2026, 1:20:52 PM UTC
    Ended
    Aug 7, 2026, 1:21:21 PM UTC
    Outcome
    Result returned
    Targets
    3

    Procedural Low-Poly Three.js Character with Pivot-Joint Walk Cycle

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9fc9d6);
    
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(4, 3.2, 6);
    camera.lookAt(0, 1.2, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xffffff, 0x557060, 2));
    const sun = new THREE.DirectionalLight(0xffffff, 2.5);
    sun.position.set(4, 8, 5);
    sun.castShadow = true;
    scene.add(sun);
    
    const ground = new THREE.Mesh(
      new THREE.CylinderGeometry(6, 6, 0.2, 12),
      new THREE.MeshToonMaterial({ color: 0x6d9b72 })
    );
    ground.position.y = -0.1;
    ground.receiveShadow = true;
    scene.add(ground);
    
    const materials = {
      skin: new THREE.MeshToonMaterial({ color: 0xf0ad82 }),
      shirt: new THREE.MeshToonMaterial({ color: 0x3d70c9 }),
      pants: new THREE.MeshToonMaterial({ color: 0x283653 }),
      shoes: new THREE.MeshToonMaterial({ color: 0x20242c }),
      hair: new THREE.MeshToonMaterial({ color: 0x30251d })
    };
    
    function box(width, height, depth, material) {
      const mesh = new THREE.Mesh(
        new THREE.BoxGeometry(width, height, depth),
        material
      );
      mesh.castShadow = true;
      mesh.receiveShadow = true;
      return mesh;
    }
    
    function lowPolySphere(radius, material) {
      const mesh = new THREE.Mesh(
        new THREE.IcosahedronGeometry(radius, 1),
        material
      );
      mesh.castShadow = true;
      mesh.receiveShadow = true;
      return mesh;
    }
    
    function createCharacter() {
      const character = new THREE.Group();
      character.position.y = 1.25;
    
      const hips = new THREE.Group();
      hips.position.y = 0.95;
      character.add(hips);
    
      const pelvis = box(0.72, 0.42, 0.42, materials.pants);
      pelvis.position.y = 0.12;
      hips.add(pelvis);
    
      const torso = new THREE.Group();
      torso.position.y = 0.35;
      hips.add(torso);
    
      const body = box(0.82, 0.95, 0.48, materials.shirt);
      body.position.y = 0.45;
      torso.add(body);
    
      const neck = new THREE.Group();
      neck.position.y = 0.98;
      torso.add(neck);
    
      const neckMesh = box(0.2, 0.18, 0.2, materials.skin);
      neckMesh.position.y = -0.05;
      neck.add(neckMesh);
    
      const head = lowPolySphere(0.42, materials.skin);
      head.position.y = 0.4;
      neck.add(head);
    
      const hair = lowPolySphere(0.44, materials.hair);
      hair.scale.set(1.02, 0.62, 1.02);
      hair.position.set(0, 0.62, -0.02);
      neck.add(hair);
    
      const limbs = {
        leftArm: new THREE.Group(),
        rightArm: new THREE.Group(),
        leftForearm: new THREE.Group(),
        rightForearm: new THREE.Group(),
        leftLeg: new THREE.Group(),
        rightLeg: new THREE.Group(),
        leftShin: new THREE.Group(),
        rightShin: new THREE.Group()
      };
    
      // Shoulder pivots. Meshes are offset below each pivot so rotation happens at the joint.
      limbs.leftArm.position.set(-0.52, 0.82, 0);
      limbs.rightArm.position.set(0.52, 0.82, 0);
      torso.add(limbs.leftArm, limbs.rightArm);
    
      const upperArmL = box(0.22, 0.7, 0.22, materials.shirt);
      const upperArmR = box(0.22, 0.7, 0.22, materials.shirt);
      upperArmL.position.y = -0.35;
      upperArmR.position.y = -0.35;
      limbs.leftArm.add(upperArmL);
      limbs.rightArm.add(upperArmR);
    
      // Elbow pivots are children of the upper arms.
      limbs.leftForearm.position.y = -0.7;
      limbs.rightForearm.position.y = -0.7;
      limbs.leftArm.add(limbs.leftForearm);
      limbs.rightArm.add(limbs.rightForearm);
    
      const forearmL = box(0.2, 0.62, 0.2, materials.skin);
      const forearmR = box(0.2, 0.62, 0.2, materials.skin);
      forearmL.position.y = -0.31;
      forearmR.position.y = -0.31;
      limbs.leftForearm.add(forearmL);
      limbs.rightForearm.add(forearmR);
    
      // Hip pivots.
      limbs.leftLeg.position.set(-0.22, 0.0, 0);
      limbs.rightLeg.position.set(0.22, 0.0, 0);
      hips.add(limbs.leftLeg, limbs.rightLeg);
    
      const thighL = box(0.27, 0.72, 0.27, materials.pants);
      const thighR = box(0.27, 0.72, 0.27, materials.pants);
      thighL.position.y = -0.36;
      thighR.position.y = -0.36;
      limbs.leftLeg.add(thighL);
      limbs.rightLeg.add(thighR);
    
      // Knee pivots are children of the thigh meshes' parent groups.
      limbs.leftShin.position.y = -0.72;
      limbs.rightShin.position.y = -0.72;
      limbs.leftLeg.add(limbs.leftShin);
      limbs.rightLeg.add(limbs.rightShin);
    
      const shinL = box(0.23, 0.68, 0.23, materials.skin);
      const shinR = box(0.23, 0.68, 0.23, materials.skin);
      shinL.position.y = -0.34;
      shinR.position.y = -0.34;
      limbs.leftShin.add(shinL);
      limbs.rightShin.add(shinR);
    
      const shoeL = box(0.32, 0.16, 0.52, materials.shoes);
      const shoeR = box(0.32, 0.16, 0.52, materials.shoes);
      shoeL.position.set(0, -0.7, 0.1);
      shoeR.position.set(0, -0.7, 0.1);
      limbs.leftShin.add(shoeL);
      limbs.rightShin.add(shoeR);
    
      character.userData.joints = limbs;
      character.userData.walkDistance = 0;
      return character;
    }
    
    const character = createCharacter();
    scene.add(character);
    
    const clock = new THREE.Clock();
    const keys = new Set();
    addEventListener('keydown', event => keys.add(event.code));
    addEventListener('keyup', event => keys.delete(event.code));
    
    function animateWalk(character, elapsed, speed) {
      const { joints } = character.userData;
      const moving = speed > 0.01;
      const phase = elapsed * (moving ? 9.5 : 2.0);
      const stride = moving ? 0.62 : 0.06;
      const swing = Math.sin(phase) * stride;
      const oppositeSwing = Math.sin(phase + Math.PI) * stride;
      const liftL = Math.max(0, Math.sin(phase + Math.PI)) * 0.42;
      const liftR = Math.max(0, Math.sin(phase)) * 0.42;
    
      joints.leftLeg.rotation.x = swing;
      joints.rightLeg.rotation.x = oppositeSwing;
      joints.leftShin.rotation.x = liftL;
      joints.rightShin.rotation.x = liftR;
    
      joints.leftArm.rotation.x = oppositeSwing * 0.75;
      joints.rightArm.rotation.x = swing * 0.75;
      joints.leftForearm.rotation.x = -Math.max(0, swing) * 0.25;
      joints.rightForearm.rotation.x = -Math.max(0, oppositeSwing) * 0.25;
    
      const bounce = moving ? Math.abs(Math.sin(phase * 2)) * 0.045 : Math.sin(elapsed * 2) * 0.015;
      character.position.y = 1.25 + bounce;
      character.rotation.y = moving ? Math.atan2(0, 1) : 0;
    }
    
    function update(delta) {
      const direction = new THREE.Vector3(
        (keys.has('ArrowRight') || keys.has('KeyD') ? 1 : 0) -
          (keys.has('ArrowLeft') || keys.has('KeyA') ? 1 : 0),
        0,
        (keys.has('ArrowDown') || keys.has('KeyS') ? 1 : 0) -
          (keys.has('ArrowUp') || keys.has('KeyW') ? 1 : 0)
      );
    
      const speed = direction.lengthSq() ? 2.2 : 0;
      if (speed) {
        direction.normalize();
        character.position.addScaledVector(direction, speed * delta);
        character.rotation.y = Math.atan2(direction.x, direction.z);
      }
    
      character.userData.walkDistance += speed * delta;
      animateWalk(character, character.userData.walkDistance, speed);
    }
    
    function render() {
      const delta = Math.min(clock.getDelta(), 0.05);
      update(delta);
      renderer.render(scene, camera);
      requestAnimationFrame(render);
    }
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    render();
    
    References
    3
    1. craftmygame/little-citylittle-taipei/main.js

      JavaScript/three.js code that builds a procedural low-poly scene and imports a dedicated character module (likely where the walk/motion is defined), but the provided snippet doesn’t explicitly show Object3D limb pivot joints or a walk-cycle implementation.

      codeApache-2.0
    2. Codemarchant/rexclawweb/src/services/avatar_renderer.js

      Three.js/JavaScript implementation involving an Object3D hierarchy with humanoid bone nodes and animation via AnimationMixer; includes rotation/bone handling concepts that can inform limb pivot joint walk-cycle structure, though it’s not explicitly procedural low-poly character or limb-pivot joint walk-cycle code.

      codeMIT
    3. Jisan901/PolyForge3D-FT_experiments/esm/ART.js

      Implements three.js/rapier-style procedural jointed character components (including ragdoll with limb hierarchy and joint anchors), but it doesn’t show an Object3D low-poly walk-cycle animation or procedural walking/pivot-joint animation loop, so it’s only a partial match to the requested walk animation workflow.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "procedural low-poly character built from Object3D group hierarchy with limb pivot joints animated in three.js walk cycle",
      "language": "javascript",
      "license_mode": "strict"
    }
  67. 67
    +7:00Code GrepCode navigationDante83/a-water“Math.floor”288 msCompleted⌄

    Math.floor

    Started
    Aug 7, 2026, 1:20:54 PM UTC
    Ended
    Aug 7, 2026, 1:20:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/Dante83/a-water

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1204,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1188-L1204",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1188
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1204,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1188-L1204",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1188
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1205,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1189-L1205",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1189
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1206,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1190-L1206",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1190
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1277,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1261-L1277",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1261
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1278,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1262-L1278",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1262
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1325,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1309-L1325",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1309
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1325,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1309-L1325",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1309
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "kind": "code_target",
          "repo_url": "https://github.com/dante83/a-water",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/js/ocean-system/components/ocean-grid.js"
        }
      ],
      "pattern": "Math.floor",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/Dante83/a-water",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1204,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1188-L1204",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1188
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1204,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1188-L1204",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1188
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1205,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1189-L1205",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1189
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1206,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1190-L1206",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1190
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1277,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1261-L1277",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1261
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1278,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1262-L1278",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1262
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1325,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1309-L1325",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1309
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1325,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1309-L1325",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1309
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "kind": "code_target",
            "repo_url": "https://github.com/dante83/a-water",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  68. 68
    +7:08Get ExampleGenerated examplethree.js MeshToonMaterial gradientMap DataTexture toon ramp NearestFilter three tone five tone create gradient texture5 sources16 sCompleted⌄

    three.js MeshToonMaterial gradientMap DataTexture toon ramp NearestFilter three tone five tone create gradient texture · javascript · strict

    Started
    Aug 7, 2026, 1:21:03 PM UTC
    Ended
    Aug 7, 2026, 1:21:18 PM UTC
    Outcome
    Result returned
    Targets
    5

    Five-Tone Three.js Toon GradientMap

    import * as THREE from 'three';
    
    // Five grayscale bands used by MeshToonMaterial for cel shading.
    function createFiveToneGradient() {
      const tones = [74, 124, 172, 214, 255];
      const data = new Uint8Array(tones.length * 4);
    
      for (let i = 0; i < tones.length; i++) {
        const offset = i * 4;
        data[offset] = tones[i];
        data[offset + 1] = tones[i];
        data[offset + 2] = tones[i];
        data[offset + 3] = 255;
      }
    
      const texture = new THREE.DataTexture(
        data,
        tones.length,
        1,
        THREE.RGBAFormat,
        THREE.UnsignedByteType,
      );
    
      // Nearest filtering keeps the five lighting bands sharp.
      texture.minFilter = THREE.NearestFilter;
      texture.magFilter = THREE.NearestFilter;
      texture.wrapS = THREE.ClampToEdgeWrapping;
      texture.wrapT = THREE.ClampToEdgeWrapping;
      texture.generateMipmaps = false;
      texture.colorSpace = THREE.NoColorSpace;
      texture.needsUpdate = true;
    
      return texture;
    }
    
    const scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(0, 1, 4);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    document.body.appendChild(renderer.domElement);
    
    const keyLight = new THREE.DirectionalLight(0xffffff, 2);
    keyLight.position.set(2, 3, 4);
    scene.add(keyLight, new THREE.AmbientLight(0x667799, 0.35));
    
    const material = new THREE.MeshToonMaterial({
      color: 0x4f8fd9,
      gradientMap: createFiveToneGradient(),
    });
    
    const sphere = new THREE.Mesh(
      new THREE.SphereGeometry(1, 64, 32),
      material,
    );
    scene.add(sphere);
    
    function animate() {
      sphere.rotation.y += 0.008;
      renderer.render(scene, camera);
      requestAnimationFrame(animate);
    }
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    animate();
    
    References
    5
    1. webspace-sdk/webspace-enginesrc/systems/vox-system.js

      Strong match to creating a MeshToonMaterial-compatible gradientMap using THREE.DataTexture with NearestFilter and applying it to toon shading (via ShaderLib.toon / MeshToonMaterial defines).

      codeMPL-2.0
    2. Kenton-GMI/sakura-crossingsrc/core/toon.js

      Very close to the requested toon ramp gradientMap creation: generates a THREE.DataTexture ramp (RGBA) with NearestFilter and uses MeshToonMaterial gradientMap; also includes tone-band customization.

      codeMIT
    3. webspace-sdk/jel-mplsrc/hubs/components/gltf-model-plus.js

      Direct three.js implementation of a toon ramp using THREE.DataTexture with NearestFilter for min/mag filters, constructing a gradient texture (tone ramp) suitable for MeshToonMaterial/gradientMap usage; strongly aligned to the query’s core APIs/symbols.

      codeMPL-2.0
    4. cl0nazepamm/maxjsweb/js/material_builder.js

      Strong three.js MeshToonMaterial setup showing gradientMap binding plus NearestFilter configuration on DataTexture used as a toon ramp, with practical code structure for ramp/texture creation.

      codeMIT
    5. MattPoetker/origindbexamples/originlands/public/main.js

      Clear example of creating a toon gradient ramp via DataTexture, assigning it to MeshToonMaterial.gradientMap, and setting NearestFilter for cel-step look; missing broader tone-mapping/bake context but matches the core requested pieces.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js MeshToonMaterial gradientMap DataTexture toon ramp NearestFilter three tone five tone create gradient texture",
      "language": "javascript",
      "license_mode": "strict"
    }
  69. 69
    +7:15Code GrepCode navigationDante83/a-water“ringIndex”165 msCompleted⌄

    ringIndex

    Started
    Aug 7, 2026, 1:21:10 PM UTC
    Ended
    Aug 7, 2026, 1:21:10 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/Dante83/a-water

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1140,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1124-L1140",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1124
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1392,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1376-L1392",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1376
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1409,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1393-L1409",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1393
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 1412,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1396-L1412",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 1396
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "kind": "code_target",
          "repo_url": "https://github.com/dante83/a-water",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/js/ocean-system/components/ocean-grid.js"
        }
      ],
      "pattern": "ringIndex",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/Dante83/a-water",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1140,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1124-L1140",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1124
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1392,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1376-L1392",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1376
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1409,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1393-L1409",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1393
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 1412,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L1396-L1412",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 1396
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "kind": "code_target",
            "repo_url": "https://github.com/dante83/a-water",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  70. 70
    +7:28Code GrepCode navigationDante83/a-water“foamRenderMap”180 msCompleted⌄

    foamRenderMap

    Started
    Aug 7, 2026, 1:21:22 PM UTC
    Ended
    Aug 7, 2026, 1:21:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/Dante83/a-water

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js",
        "src/js/ocean-system/components/ocean-grid.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 103,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L87-L103",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 87
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 2787,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L2771-L2787",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 2771
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 2789,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L2773-L2789",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 2773
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 3198,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L3182-L3198",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 3182
        },
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "end_line": 3198,
          "file_path": "src/js/ocean-system/components/ocean-grid.js",
          "kind": "code",
          "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L3182-L3198",
          "repo_url": "https://github.com/dante83/a-water",
          "start_line": 3182
        }
      ],
      "returned_matches": 5,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "kind": "code_target",
          "repo_url": "https://github.com/dante83/a-water",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/js/ocean-system/components/*.js"
        }
      ],
      "pattern": "foamRenderMap",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/Dante83/a-water",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js",
          "src/js/ocean-system/components/ocean-grid.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 103,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L87-L103",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 87
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 2787,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L2771-L2787",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 2771
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 2789,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L2773-L2789",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 2773
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 3198,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L3182-L3198",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 3182
          },
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "end_line": 3198,
            "file_path": "src/js/ocean-system/components/ocean-grid.js",
            "kind": "code",
            "permalink": "https://github.com/dante83/a-water/blob/a9ec246238482323a2c05bf86cd24ff8bd45a92a/src/js/ocean-system/components/ocean-grid.js#L3182-L3198",
            "repo_url": "https://github.com/dante83/a-water",
            "start_line": 3182
          }
        ],
        "returned_matches": 5,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "kind": "code_target",
            "repo_url": "https://github.com/dante83/a-water",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  71. 71
    +7:33Code ReadCode navigationthree276 msCompleted⌄
    Started
    Aug 7, 2026, 1:21:27 PM UTC
    Ended
    Aug 7, 2026, 1:21:27 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 175,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 76,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 175,
          "file_path": "examples/jsm/postprocessing/Pass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/Pass.js#L100-L175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 100
        }
      ],
      "start_line": 100,
      "status": "success",
      "total_lines": 191
    }
    Request⌄

    Request payload

    {
      "end_line": 175,
      "file_path": "examples/jsm/postprocessing/Pass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 100,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 175,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 76,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 175,
            "file_path": "examples/jsm/postprocessing/Pass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/Pass.js#L100-L175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 100
          }
        ],
        "start_line": 100,
        "status": "success",
        "total_lines": 191
      },
      "title": null,
      "content": null
    }
  72. 72
    +7:34Code GrepCode navigationthree“intersectsSphere”284 msCompleted⌄

    intersectsSphere

    Started
    Aug 7, 2026, 1:21:28 PM UTC
    Ended
    Aug 7, 2026, 1:21:29 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Box3.js",
        "src/math/Sphere.js",
        "src/math/Sphere.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 465,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L449-L465",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 449
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 185,
          "file_path": "src/math/Sphere.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Sphere.js#L169-L185",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 169
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 201,
          "file_path": "src/math/Sphere.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Sphere.js#L185-L201",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 185
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/Box3.js"
        },
        {
          "kind": "GLOB",
          "value": "src/math/Sphere.js"
        }
      ],
      "pattern": "intersectsSphere",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Box3.js",
          "src/math/Sphere.js",
          "src/math/Sphere.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 465,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L449-L465",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 449
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 185,
            "file_path": "src/math/Sphere.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Sphere.js#L169-L185",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 169
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 201,
            "file_path": "src/math/Sphere.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Sphere.js#L185-L201",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 185
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  73. 73
    +7:37Code GrepCode navigationthree“count = 1”112 msNo result⌄

    count = 1

    Started
    Aug 7, 2026, 1:21:32 PM UTC
    Ended
    Aug 7, 2026, 1:21:32 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/RenderTarget.js"
        }
      ],
      "pattern": "count = 1",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  74. 74
    +7:38Code GrepCode navigationDante83/a-water“wake”224 msNo result⌄

    wake

    Started
    Aug 7, 2026, 1:21:32 PM UTC
    Ended
    Aug 7, 2026, 1:21:33 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/Dante83/a-water

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
          "kind": "code_target",
          "repo_url": "https://github.com/dante83/a-water",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 7,
      "context_lines_before": 7,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/js/ocean-system/components/ocean-splash.js"
        }
      ],
      "pattern": "wake",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/Dante83/a-water",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "git_ref": "a9ec246238482323a2c05bf86cd24ff8bd45a92a",
            "kind": "code_target",
            "repo_url": "https://github.com/dante83/a-water",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  75. 75
    +7:41Code GrepCode navigationthree“depthTexture”121 msCompleted⌄

    depthTexture

    Started
    Aug 7, 2026, 1:21:36 PM UTC
    Ended
    Aug 7, 2026, 1:21:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 43,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L27-L43",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 27
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 48,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L32-L48",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 32
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 70,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L54-L70",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 54
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 75,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L59-L75",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 59
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/RenderTarget.js"
        }
      ],
      "pattern": "depthTexture",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 43,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L27-L43",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 27
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 48,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L32-L48",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 32
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 70,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L54-L70",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 54
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 75,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L59-L75",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 59
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  76. 76
    +7:45Code ReadCode navigationthree110 msCompleted⌄
    Started
    Aug 7, 2026, 1:21:40 PM UTC
    Ended
    Aug 7, 2026, 1:21:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 116,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 27,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 116,
          "file_path": "src/renderers/shaders/ShaderChunk/packing.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/packing.glsl.js#L90-L116",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 90
        }
      ],
      "start_line": 90,
      "status": "success",
      "total_lines": 116
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "src/renderers/shaders/ShaderChunk/packing.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 90,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 116,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 27,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 116,
            "file_path": "src/renderers/shaders/ShaderChunk/packing.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/packing.glsl.js#L90-L116",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 90
          }
        ],
        "start_line": 90,
        "status": "success",
        "total_lines": 116
      },
      "title": null,
      "content": null
    }
  77. 77
    +7:45Code GrepCode navigationthree“clampWhenFinished”196 msCompleted⌄

    clampWhenFinished

    Started
    Aug 7, 2026, 1:21:40 PM UTC
    Ended
    Aug 7, 2026, 1:21:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/animation/AnimationAction.js",
        "src/animation/AnimationAction.js",
        "src/animation/AnimationAction.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 160,
          "file_path": "src/animation/AnimationAction.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L142-L160",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 142
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 780,
          "file_path": "src/animation/AnimationAction.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L762-L780",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 762
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 831,
          "file_path": "src/animation/AnimationAction.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L813-L831",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 813
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 9,
      "context_lines_before": 9,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/animation/AnimationAction.js"
        }
      ],
      "pattern": "clampWhenFinished",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/animation/AnimationAction.js",
          "src/animation/AnimationAction.js",
          "src/animation/AnimationAction.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 160,
            "file_path": "src/animation/AnimationAction.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L142-L160",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 142
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 780,
            "file_path": "src/animation/AnimationAction.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L762-L780",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 762
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 831,
            "file_path": "src/animation/AnimationAction.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/animation/AnimationAction.js#L813-L831",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 813
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  78. 78
    +7:49Code GrepCode navigationthree-mesh-bvh“export”374 msCompleted⌄

    export

    Started
    Aug 7, 2026, 1:21:43 PM UTC
    Ended
    Aug 7, 2026, 1:21:43 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js",
        "src/index.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 1,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L1-L1",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 1
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 2,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L2-L2",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 2
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 3,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L3-L3",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 3
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 4,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L4-L4",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 4
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 5,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L5-L5",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 5
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 6,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L6-L6",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 6
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 7,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L7-L7",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 7
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 8,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L8-L8",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 8
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 9,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L9-L9",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 9
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 10,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L10-L10",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 10
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 11,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L11-L11",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 11
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 12,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L12-L12",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 12
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 13,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L13-L13",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 13
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 14,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L14-L14",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 14
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 15,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L15-L15",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 15
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 16,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L16-L16",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 16
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 17,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L17-L17",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 17
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 18,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L18-L18",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 18
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 22,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L22-L22",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 22
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 23,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L23-L23",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 23
        }
      ],
      "returned_matches": 20,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 20,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 0,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/index.js"
        }
      ],
      "pattern": "export",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js",
          "src/index.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 1,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L1-L1",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 1
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 2,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L2-L2",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 2
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 3,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L3-L3",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 3
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 4,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L4-L4",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 4
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 5,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L5-L5",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 5
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 6,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L6-L6",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 6
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 7,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L7-L7",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 7
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 8,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L8-L8",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 8
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 9,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L9-L9",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 9
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 10,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L10-L10",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 10
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 11,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L11-L11",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 11
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 12,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L12-L12",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 12
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 13,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L13-L13",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 13
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 14,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L14-L14",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 14
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 15,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L15-L15",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 15
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 16,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L16-L16",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 16
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 17,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L17-L17",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 17
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 18,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L18-L18",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 18
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 22,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L22-L22",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 22
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 23,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L23-L23",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 23
          }
        ],
        "returned_matches": 20,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 20,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  79. 79
    +7:50Code FilesCode navigationthreeexamples/jsm/shaders/92 msCompleted⌄
    Started
    Aug 7, 2026, 1:21:44 PM UTC
    Ended
    Aug 7, 2026, 1:21:44 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "code_index_state": "current",
      "files": [
        "examples/jsm/shaders/ACESFilmicToneMappingShader.js",
        "examples/jsm/shaders/AfterimageShader.js",
        "examples/jsm/shaders/BasicShader.js",
        "examples/jsm/shaders/BleachBypassShader.js",
        "examples/jsm/shaders/BlendShader.js",
        "examples/jsm/shaders/BokehShader.js",
        "examples/jsm/shaders/BokehShader2.js",
        "examples/jsm/shaders/BrightnessContrastShader.js",
        "examples/jsm/shaders/ColorCorrectionShader.js",
        "examples/jsm/shaders/ColorifyShader.js",
        "examples/jsm/shaders/ConvolutionShader.js",
        "examples/jsm/shaders/CopyShader.js",
        "examples/jsm/shaders/DOFMipMapShader.js",
        "examples/jsm/shaders/DepthLimitedBlurShader.js",
        "examples/jsm/shaders/DigitalGlitch.js",
        "examples/jsm/shaders/DotScreenShader.js",
        "examples/jsm/shaders/ExposureShader.js",
        "examples/jsm/shaders/FXAAShader.js",
        "examples/jsm/shaders/FilmShader.js",
        "examples/jsm/shaders/FocusShader.js"
      ],
      "has_more": false,
      "indexing_status": "indexed",
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/ACESFilmicToneMappingShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ACESFilmicToneMappingShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/AfterimageShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/AfterimageShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/BasicShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BasicShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/BleachBypassShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BleachBypassShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/BlendShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BlendShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/BokehShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BokehShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/BokehShader2.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BokehShader2.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/BrightnessContrastShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BrightnessContrastShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/ColorCorrectionShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ColorCorrectionShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/ColorifyShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ColorifyShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/ConvolutionShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ConvolutionShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/CopyShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/CopyShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/DOFMipMapShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DOFMipMapShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/DepthLimitedBlurShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DepthLimitedBlurShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/DigitalGlitch.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DigitalGlitch.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/DotScreenShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DotScreenShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/ExposureShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ExposureShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/FXAAShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/FXAAShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/FilmShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/FilmShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/shaders/FocusShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/FocusShader.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        }
      ],
      "result_pointers_truncated": true,
      "returned": 50,
      "returned_truncated": true,
      "status": "success",
      "total": 52
    }
    Request⌄

    Request payload

    {
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "include_hidden": false,
      "limit": 60,
      "offset": 0,
      "package_name": "three",
      "path_prefix": "examples/jsm/shaders/",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    ResponseTruncated⌄

    Response payload

    {
      "summary": {
        "code_index_state": "current",
        "files": [
          "examples/jsm/shaders/ACESFilmicToneMappingShader.js",
          "examples/jsm/shaders/AfterimageShader.js",
          "examples/jsm/shaders/BasicShader.js",
          "examples/jsm/shaders/BleachBypassShader.js",
          "examples/jsm/shaders/BlendShader.js",
          "examples/jsm/shaders/BokehShader.js",
          "examples/jsm/shaders/BokehShader2.js",
          "examples/jsm/shaders/BrightnessContrastShader.js",
          "examples/jsm/shaders/ColorCorrectionShader.js",
          "examples/jsm/shaders/ColorifyShader.js",
          "examples/jsm/shaders/ConvolutionShader.js",
          "examples/jsm/shaders/CopyShader.js",
          "examples/jsm/shaders/DOFMipMapShader.js",
          "examples/jsm/shaders/DepthLimitedBlurShader.js",
          "examples/jsm/shaders/DigitalGlitch.js",
          "examples/jsm/shaders/DotScreenShader.js",
          "examples/jsm/shaders/ExposureShader.js",
          "examples/jsm/shaders/FXAAShader.js",
          "examples/jsm/shaders/FilmShader.js",
          "examples/jsm/shaders/FocusShader.js"
        ],
        "has_more": false,
        "indexing_status": "indexed",
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/ACESFilmicToneMappingShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ACESFilmicToneMappingShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/AfterimageShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/AfterimageShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/BasicShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BasicShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/BleachBypassShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BleachBypassShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/BlendShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BlendShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/BokehShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BokehShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/BokehShader2.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BokehShader2.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/BrightnessContrastShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/BrightnessContrastShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/ColorCorrectionShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ColorCorrectionShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/ColorifyShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ColorifyShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/ConvolutionShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ConvolutionShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/CopyShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/CopyShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/DOFMipMapShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DOFMipMapShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/DepthLimitedBlurShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DepthLimitedBlurShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/DigitalGlitch.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DigitalGlitch.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/DotScreenShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/DotScreenShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/ExposureShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/ExposureShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/FXAAShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/FXAAShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/FilmShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/FilmShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/shaders/FocusShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/FocusShader.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          }
        ],
        "result_pointers_truncated": true,
        "returned": 50,
        "returned_truncated": true,
        "status": "success",
        "total": 52
      },
      "title": null,
      "content": null
    }

    This shared record contains a truncated response.

  80. 80
    +7:57Get ExampleGenerated examplefloating origin world rebase shift all scene objects when camera exceeds threshold three.js precision3 sources36 sCompleted⌄

    floating origin world rebase shift all scene objects when camera exceeds threshold three.js precision · javascript · strict

    Started
    Aug 7, 2026, 1:21:52 PM UTC
    Ended
    Aug 7, 2026, 1:22:28 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Floating-Origin World Rebase

    import * as THREE from "three";
    import { OrbitControls } from "three/addons/controls/OrbitControls.js";
    
    /*
     * Workaround for large-coordinate precision loss: keep the camera and every
     * renderable object close to the local origin instead of rendering them at
     * their absolute world coordinates.
     */
    class FloatingOrigin {
      constructor({ camera, controls, worldRoot, threshold = 1000, onRebase } = {}) {
        this.camera = camera;
        this.controls = controls;
        this.worldRoot = worldRoot;
        this.threshold = threshold;
        this.origin = new THREE.Vector3(); // Absolute coordinate represented by local (0, 0, 0).
        this.onRebase = onRebase;
      }
    
      update() {
        if (this.camera.position.length() <= this.threshold) return false;
    
        // Shift by the camera's current local position, keeping the camera near zero.
        const delta = this.camera.position.clone();
        this.origin.add(delta);
    
        // Shift top-level world objects together. Nested meshes, bones, and lights
        // inherit the same translation without changing their local relationships.
        for (const object of this.worldRoot.children) {
          object.position.sub(delta);
        }
    
        this.camera.position.sub(delta);
    
        if (this.controls) {
          this.controls.target.sub(delta);
          this.controls.update();
        }
    
        this.worldRoot.updateMatrixWorld(true);
        this.camera.updateMatrixWorld(true);
        this.onRebase?.(delta.clone(), this.origin.clone());
        return true;
      }
    
      // Convert an absolute application-space position into the current local space.
      toLocal(absolutePosition) {
        return absolutePosition.clone().sub(this.origin);
      }
    
      // Convert a local render-space position back into application-space coordinates.
      toAbsolute(localPosition) {
        return localPosition.clone().add(this.origin);
      }
    }
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
    document.body.appendChild(renderer.domElement);
    
    document.body.style.margin = "0";
    document.body.style.overflow = "hidden";
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x202530);
    
    const camera = new THREE.PerspectiveCamera(
      60,
      window.innerWidth / window.innerHeight,
      0.1,
      5000
    );
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.enableDamping = true;
    
    // Every movable/renderable world object must be added under this single root.
    const worldRoot = new THREE.Group();
    scene.add(worldRoot);
    
    worldRoot.add(new THREE.HemisphereLight(0xffffff, 0x334455, 2));
    const sun = new THREE.DirectionalLight(0xffffff, 3);
    sun.position.set(20, 40, 10);
    worldRoot.add(sun);
    
    const grid = new THREE.GridHelper(200, 40, 0x6688aa, 0x334455);
    worldRoot.add(grid);
    
    const material = new THREE.MeshStandardMaterial({ color: 0x44aaff });
    for (let i = 0; i < 20; i++) {
      const mesh = new THREE.Mesh(
        new THREE.BoxGeometry(10, 10, 10),
        material.clone()
      );
    
      // Simulate objects initially located at large absolute coordinates.
      const absolutePosition = new THREE.Vector3(
        1_000_000 + i * 30,
        5,
        1_000_000
      );
    
      // Store only local render coordinates; absolute coordinates belong to the app.
      mesh.position.copy(absolutePosition);
      worldRoot.add(mesh);
    }
    
    camera.position.set(1_000_000, 80, 1_000_120);
    controls.target.set(1_000_000, 0, 1_000_000);
    controls.update();
    
    const floatingOrigin = new FloatingOrigin({
      camera,
      controls,
      worldRoot,
      threshold: 10_000,
      onRebase(delta, absoluteOrigin) {
        // Shift external systems here too: physics bodies, navigation, audio, etc.
        console.debug("Rebased by", delta.toArray(), "new origin", absoluteOrigin.toArray());
      },
    });
    
    function animate() {
      requestAnimationFrame(animate);
    
      controls.update();
      floatingOrigin.update(); // Call before physics/rendering each frame.
      renderer.render(scene, camera);
    }
    
    window.addEventListener("resize", () => {
      camera.aspect = window.innerWidth / window.innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(window.innerWidth, window.innerHeight);
    });
    
    animate();
    
    References
    3
    1. gkjohnson/three-gpu-pathtracerWebGLPathTracer: Automatically position model to avoid numeric precision problems

      Directly matches the underlying precision/large-coordinate artifact problem in three.js path tracing, explicitly recommending handling numeric precision (move near origin / floating-point issues) which is central to implementing floating-origin world rebasing.

      issueMIT
    2. mrdoob/three.jsSkinnedMesh: Implement skinning in a different coordinate space

      Three.js issue discussion directly about floating-origin/precision problems when skinning far from the world origin, including the underlying cause (skinning in world space) and a suggested workaround (offset/transforming scene/character).

      issueMIT
    3. Codemarchant/rexclawweb/src/services/avatar_renderer.js

      Relates to a three.js VRM renderer that includes camera framing and comments about floating behavior, but it does not directly address floating-origin/rebasing threshold logic or world-to-local shifting as requested.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "floating origin world rebase shift all scene objects when camera exceeds threshold three.js precision",
      "language": "javascript",
      "license_mode": "strict"
    }
  81. 81
    +8:03Code GrepCode navigationthree“closestPointToSegment”286 msNo result⌄

    closestPointToSegment

    Started
    Aug 7, 2026, 1:21:58 PM UTC
    Ended
    Aug 7, 2026, 1:21:58 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/**"
        }
      ],
      "pattern": "closestPointToSegment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  82. 82
    +8:09Code GrepCode navigationthree-mesh-bvh“closestPointToSegment”251 msCompleted⌄

    closestPointToSegment

    Started
    Aug 7, 2026, 1:22:04 PM UTC
    Ended
    Aug 7, 2026, 1:22:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/ExtendedTriangle.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 153,
          "file_path": "src/math/ExtendedTriangle.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L141-L153",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 141
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/ExtendedTriangle.js"
        }
      ],
      "pattern": "closestPointToSegment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/ExtendedTriangle.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 153,
            "file_path": "src/math/ExtendedTriangle.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L141-L153",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 141
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  83. 83
    +8:11Get ExampleGenerated examplethree.js GLSL fresnel rim lighting toon material onBeforeCompile add rim color to outgoing light vViewPosition2 sources16 sCompleted⌄

    three.js GLSL fresnel rim lighting toon material onBeforeCompile add rim color to outgoing light vViewPosition · javascript · strict

    Started
    Aug 7, 2026, 1:22:06 PM UTC
    Ended
    Aug 7, 2026, 1:22:22 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Toon Fresnel Rim Lighting with onBeforeCompile

    import * as THREE from 'three';
    import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x10131f);
    
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(2.5, 1.8, 4);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.outputColorSpace = THREE.SRGBColorSpace;
    document.body.appendChild(renderer.domElement);
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.enableDamping = true;
    
    const material = new THREE.MeshToonMaterial({
      color: 0x4b82d8,
      gradientMap: createToonGradientMap(),
    });
    
    // Inject a stepped Fresnel rim contribution into Three.js's outgoing light.
    material.onBeforeCompile = (shader) => {
      shader.uniforms.uRimColor = { value: new THREE.Color(0xffd7a0) };
      shader.uniforms.uRimPower = { value: 2.5 };
      shader.uniforms.uRimStrength = { value: 1.2 };
    
      shader.fragmentShader = shader.fragmentShader.replace(
        '#include <common>',
        `#include <common>
          uniform vec3 uRimColor;
          uniform float uRimPower;
          uniform float uRimStrength;`
      );
    
      shader.fragmentShader = shader.fragmentShader.replace(
        '#include <output_fragment>',
        `
          vec3 rimNormal = normalize(vNormal);
          vec3 viewDirection = normalize(-vViewPosition);
          float fresnel = 1.0 - max(dot(rimNormal, viewDirection), 0.0);
    
          // Quantize the Fresnel term for a graphic toon-style edge.
          float rim = smoothstep(0.55, 0.95, pow(fresnel, uRimPower));
          outgoingLight += uRimColor * rim * uRimStrength;
    
          #include <output_fragment>`
      );
    };
    
    const mesh = new THREE.Mesh(
      new THREE.SphereGeometry(1, 64, 32),
      material
    );
    scene.add(mesh);
    
    scene.add(new THREE.HemisphereLight(0x9bbcff, 0x202030, 2));
    const keyLight = new THREE.DirectionalLight(0xffffff, 3);
    keyLight.position.set(3, 4, 3);
    scene.add(keyLight);
    
    function createToonGradientMap(steps = 4) {
      const data = new Uint8Array(steps);
      for (let i = 0; i < steps; i++) {
        data[i] = 40 + (i / (steps - 1)) * 215;
      }
    
      const texture = new THREE.DataTexture(data, steps, 1, THREE.RedFormat);
      texture.minFilter = THREE.NearestFilter;
      texture.magFilter = THREE.NearestFilter;
      texture.generateMipmaps = false;
      texture.needsUpdate = true;
      return texture;
    }
    
    function animate() {
      requestAnimationFrame(animate);
      mesh.rotation.y += 0.005;
      controls.update();
      renderer.render(scene, camera);
    }
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    animate();
    
    References
    2
    1. ShawTim/endless-werewolfdocs/app.js

      three.js toon-style rim lighting via MeshToonMaterial.onBeforeCompile injecting a discrete stepped fresnel rim using vViewPosition, matching the core Fresnel rim/onBeforeCompile technique (repository code is larger but directly demonstrates the shader edit).

      codeMIT
    2. mihaipanait/lustre-chartssrc/materials/materials.js

      Implements several toon/shader-augmentation presets for Three.js materials and uses onBeforeCompile shader injection (including custom toon/edge treatments), but the snippet shown doesn’t specifically cover fresnel rim light or vViewPosition/outgoingLight handling; still relevant as a reference for onBeforeCompile patterns.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js GLSL fresnel rim lighting toon material onBeforeCompile add rim color to outgoing light vViewPosition",
      "language": "javascript",
      "license_mode": "strict"
    }
  84. 84
    +8:16Code GrepCode navigationthree-mesh-bvh“peerDependencies”244 msCompleted⌄

    peerDependencies

    Started
    Aug 7, 2026, 1:22:11 PM UTC
    Ended
    Aug 7, 2026, 1:22:11 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "package.json"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 69,
          "file_path": "package.json",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/package.json#L57-L69",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 57
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "package.json"
        }
      ],
      "pattern": "peerDependencies",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "package.json"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 69,
            "file_path": "package.json",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/package.json#L57-L69",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 57
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  85. 85
    +8:32Code GrepCode navigationthree“skinning: object.isSkinnedMesh”628 msCompleted⌄

    skinning: object.isSkinnedMesh

    Started
    Aug 7, 2026, 1:22:27 PM UTC
    Ended
    Aug 7, 2026, 1:22:28 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.module.js",
        "src/renderers/webgl/WebGLPrograms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 67685,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L67673-L67685",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 67673
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7707,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L7695-L7707",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 7695
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 334,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L322-L334",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 322
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "skinning: object.isSkinnedMesh",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.module.js",
          "src/renderers/webgl/WebGLPrograms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 67685,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L67673-L67685",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 67673
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7707,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L7695-L7707",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 7695
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 334,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L322-L334",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 322
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  86. 86
    +8:36Code ReadCode navigationcall-me-sensei/toonlab978 msCompleted⌄
    Started
    Aug 7, 2026, 1:22:31 PM UTC
    Ended
    Aug 7, 2026, 1:22:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/call-me-sensei/toonlab

    Result summary

    {
      "end_line": 640,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 81,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
          "end_line": 640,
          "file_path": "examples/urban-prop-shader/main.js",
          "kind": "code",
          "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/urban-prop-shader/main.js#L560-L640",
          "repo_url": "https://github.com/call-me-sensei/toonlab",
          "start_line": 560
        }
      ],
      "start_line": 560,
      "status": "success",
      "total_lines": 1663
    }
    Request⌄

    Request payload

    {
      "end_line": 640,
      "file_path": "examples/urban-prop-shader/main.js",
      "repo_url": "https://github.com/call-me-sensei/toonlab",
      "start_line": 560,
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 640,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 81,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "48a93d193963a3173136c467740795e75bbe4fcf",
            "end_line": 640,
            "file_path": "examples/urban-prop-shader/main.js",
            "kind": "code",
            "permalink": "https://github.com/call-me-sensei/toonlab/blob/48a93d193963a3173136c467740795e75bbe4fcf/examples/urban-prop-shader/main.js#L560-L640",
            "repo_url": "https://github.com/call-me-sensei/toonlab",
            "start_line": 560
          }
        ],
        "start_line": 560,
        "status": "success",
        "total_lines": 1663
      },
      "title": null,
      "content": null
    }
  87. 87
    +8:38Code GrepCode navigationthree“DetachedBindMode”112 msCompleted⌄

    DetachedBindMode

    Started
    Aug 7, 2026, 1:22:33 PM UTC
    Ended
    Aug 7, 2026, 1:22:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/constants.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 505,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L493-L505",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 493
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/constants.js"
        }
      ],
      "pattern": "DetachedBindMode",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/constants.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 505,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L493-L505",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 493
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  88. 88
    +8:43PKG InfoPackage intelligencepkg:npm:three138 msCompleted⌄
    Started
    Aug 7, 2026, 1:22:37 PM UTC
    Ended
    Aug 7, 2026, 1:22:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three

    Result summary

    {
      "outcome": "result_returned",
      "packages": [
        "npm:three"
      ],
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "name": "three",
      "registry": "npm"
    }
    Response⌄

    Response payload

    {
      "summary": {
        "outcome": "result_returned",
        "packages": [
          "npm:three"
        ],
        "status": "success"
      },
      "title": null,
      "content": null
    }
  89. 89
    +8:47Code ReadCode navigationthree192 msCompleted⌄
    Started
    Aug 7, 2026, 1:22:42 PM UTC
    Ended
    Aug 7, 2026, 1:22:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 40,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 40,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 40,
          "file_path": "examples/jsm/postprocessing/FXAAPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js#L1-L40",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 40
    }
    Request⌄

    Request payload

    {
      "end_line": 70,
      "file_path": "examples/jsm/postprocessing/FXAAPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 40,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 40,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 40,
            "file_path": "examples/jsm/postprocessing/FXAAPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js#L1-L40",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 40
      },
      "title": null,
      "content": null
    }
  90. 90
    +8:51Code GrepCode navigationthree“class InstancedBufferGeometry”360 msCompleted⌄

    class InstancedBufferGeometry

    Started
    Aug 7, 2026, 1:22:46 PM UTC
    Ended
    Aug 7, 2026, 1:22:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/InstancedBufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 9,
          "file_path": "src/core/InstancedBufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L3-L9",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/InstancedBufferGeometry.js"
        }
      ],
      "pattern": "class InstancedBufferGeometry",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/InstancedBufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 9,
            "file_path": "src/core/InstancedBufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L3-L9",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  91. 91
    +8:53Code ReadCode navigationthree156 msCompleted⌄
    Started
    Aug 7, 2026, 1:22:48 PM UTC
    Ended
    Aug 7, 2026, 1:22:48 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 56,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 56,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 56,
          "file_path": "examples/jsm/shaders/VignetteShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/VignetteShader.js#L1-L56",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 56
    }
    Request⌄

    Request payload

    {
      "end_line": 75,
      "file_path": "examples/jsm/shaders/VignetteShader.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 56,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 56,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 56,
            "file_path": "examples/jsm/shaders/VignetteShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/VignetteShader.js#L1-L56",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 56
      },
      "title": null,
      "content": null
    }
  92. 92
    +9:09Code GrepCode navigationthree“onBeforeCompile”148 msCompleted⌄

    onBeforeCompile

    Started
    Aug 7, 2026, 1:23:04 PM UTC
    Ended
    Aug 7, 2026, 1:23:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 537,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L527-L537",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 527
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 540,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L530-L540",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 530
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 541,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L531-L541",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 531
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/materials/Material.js"
        }
      ],
      "pattern": "onBeforeCompile",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 537,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L527-L537",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 527
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 540,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L530-L540",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 530
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 541,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L531-L541",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 531
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  93. 93
    +9:13Get ExampleGenerated exampleboat wake trail ping pong render target decaying trail texture stamped quad three.js3 sources1 min 16 sCompleted⌄

    boat wake trail ping pong render target decaying trail texture stamped quad three.js · javascript · strict

    Started
    Aug 7, 2026, 1:23:07 PM UTC
    Ended
    Aug 7, 2026, 1:24:23 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Ping-Pong Boat Wake Trail

    // Requires Three.js to be available as the global THREE object.
    
    class WakeTrail {
      constructor(renderer, { width = 1024, height = 1024, decay = 0.965 } = {}) {
        this.renderer = renderer;
        this.width = width;
        this.height = height;
        this.decay = decay;
    
        const targetOptions = {
          minFilter: THREE.LinearFilter,
          magFilter: THREE.LinearFilter,
          format: THREE.RGBAFormat,
          type: THREE.HalfFloatType,
          depthBuffer: false,
          stencilBuffer: false,
        };
    
        this.stampTarget = new THREE.WebGLRenderTarget(width, height, targetOptions);
        this.feedbackA = new THREE.WebGLRenderTarget(width, height, targetOptions);
        this.feedbackB = new THREE.WebGLRenderTarget(width, height, targetOptions);
        this.readTarget = this.feedbackA;
        this.writeTarget = this.feedbackB;
    
        this.camera = new THREE.OrthographicCamera(-1, 1, 1, -1, 0, 1);
        this.scene = new THREE.Scene();
        this.fullscreen = new THREE.Mesh(new THREE.PlaneGeometry(2, 2));
        this.scene.add(this.fullscreen);
    
        this.stampMaterial = new THREE.ShaderMaterial({
          transparent: true,
          blending: THREE.AdditiveBlending,
          depthTest: false,
          depthWrite: false,
          uniforms: {
            color: { value: new THREE.Color(0.25, 0.75, 1.0) },
            strength: { value: 0.8 },
          },
          vertexShader: `
            varying vec2 vUv;
            void main() {
              vUv = uv;
              gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
            }
          `,
          fragmentShader: `
            varying vec2 vUv;
            uniform vec3 color;
            uniform float strength;
            void main() {
              vec2 p = vUv - 0.5;
              float edge = 1.0 - smoothstep(0.18, 0.5, length(p * vec2(1.0, 1.8)));
              float feather = smoothstep(0.0, 0.15, vUv.y) * smoothstep(1.0, 0.85, vUv.y);
              float alpha = edge * feather * strength;
              gl_FragColor = vec4(color * alpha, alpha);
            }
          `,
        });
    
        this.stamp = new THREE.Mesh(new THREE.PlaneGeometry(1, 1), this.stampMaterial);
        this.stamp.visible = false;
        this.scene.add(this.stamp);
    
        this.feedbackMaterial = new THREE.ShaderMaterial({
          depthTest: false,
          depthWrite: false,
          uniforms: {
            previous: { value: null },
            stamp: { value: this.stampTarget.texture },
            decay: { value: decay },
          },
          vertexShader: `
            varying vec2 vUv;
            void main() {
              vUv = uv;
              gl_Position = vec4(position, 1.0);
            }
          `,
          fragmentShader: `
            varying vec2 vUv;
            uniform sampler2D previous;
            uniform sampler2D stamp;
            uniform float decay;
            void main() {
              vec4 oldTrail = texture2D(previous, vUv) * decay;
              vec4 newStamp = texture2D(stamp, vUv);
              gl_FragColor = vec4(min(oldTrail.rgb + newStamp.rgb, 1.0), 1.0);
            }
          `,
        });
    
        this.displayMaterial = new THREE.ShaderMaterial({
          transparent: true,
          depthTest: false,
          depthWrite: false,
          blending: THREE.AdditiveBlending,
          uniforms: { texture: { value: null } },
          vertexShader: `
            varying vec2 vUv;
            void main() {
              vUv = uv;
              gl_Position = vec4(position, 1.0);
            }
          `,
          fragmentShader: `
            varying vec2 vUv;
            uniform sampler2D texture;
            void main() {
              vec4 trail = texture2D(texture, vUv);
              gl_FragColor = vec4(trail.rgb, trail.r + trail.g + trail.b);
            }
          `,
        });
    
        this.fullscreen.material = this.displayMaterial;
      }
    
      // x and y are normalized screen coordinates; heading is in radians.
      update({ x, y, heading = 0, speed = 0.01 }) {
        const renderer = this.renderer;
    
        // Clear the stamp buffer, then draw several quads behind the boat.
        renderer.setRenderTarget(this.stampTarget);
        renderer.clearColor();
        renderer.clear(true, false, false);
        this.fullscreen.material = this.stampMaterial;
        this.stamp.visible = true;
    
        const wakeLength = Math.min(0.32, 0.08 + speed * 8.0);
        const count = 7;
        for (let i = 0; i < count; i++) {
          const t = i / count;
          const distance = t * wakeLength;
          const spread = (t - 0.5) * 0.018;
    
          this.stamp.position.set(
            (x - Math.cos(heading) * distance + Math.cos(heading + Math.PI / 2) * spread) * 2 - 1,
            (y - Math.sin(heading) * distance + Math.sin(heading + Math.PI / 2) * spread) * 2 - 1,
            0,
          );
          this.stamp.rotation.z = heading;
          this.stamp.scale.set(0.045 + t * 0.08, 0.018 + t * 0.025, 1);
          this.stampMaterial.uniforms.strength.value = (1 - t) * 0.7;
          renderer.render(this.scene, this.camera);
        }
        this.stamp.visible = false;
    
        // Feedback pass: previous trail fades while this frame's stamps are added.
        this.feedbackMaterial.uniforms.previous.value = this.readTarget.texture;
        this.fullscreen.material = this.feedbackMaterial;
        renderer.setRenderTarget(this.writeTarget);
        renderer.render(this.scene, this.camera);
    
        [this.readTarget, this.writeTarget] = [this.writeTarget, this.readTarget];
    
        // Composite the accumulated trail over the normal scene.
        this.displayMaterial.uniforms.texture.value = this.readTarget.texture;
        this.fullscreen.material = this.displayMaterial;
        renderer.setRenderTarget(null);
        renderer.render(this.scene, this.camera);
      }
    
      setSize(width, height) {
        this.width = width;
        this.height = height;
        this.stampTarget.setSize(width, height);
        this.feedbackA.setSize(width, height);
        this.feedbackB.setSize(width, height);
      }
    
      dispose() {
        this.stampTarget.dispose();
        this.feedbackA.dispose();
        this.feedbackB.dispose();
        this.stamp.geometry.dispose();
        this.fullscreen.geometry.dispose();
        this.stampMaterial.dispose();
        this.feedbackMaterial.dispose();
        this.displayMaterial.dispose();
      }
    }
    
    // Example usage inside an existing Three.js animation loop:
    const wakeTrail = new WakeTrail(renderer, { decay: 0.97 });
    
    function animate(time) {
      requestAnimationFrame(animate);
    
      const t = time * 0.001;
      const x = 0.5 + Math.sin(t * 0.7) * 0.25;
      const y = 0.5 + Math.cos(t * 0.9) * 0.18;
      const heading = Math.atan2(-Math.sin(t * 0.9), Math.cos(t * 0.7));
    
      renderer.setRenderTarget(null);
      renderer.render(scene, camera);
      wakeTrail.update({ x, y, heading, speed: 0.012 });
    }
    
    animate(0);
    
    References
    3
    1. BrunoVgs/bv-secretsweb/static/js/orbs.js

      Direct three.js WebGL ping-pong feedback render-target trail implementation in JavaScript, including accumulating a previous frame with a decay factor and a final compositing pass using shader uniforms/channels.

      codeMIT
    2. Squid-Nayth/ps2-hommagepublic/js/three-orbs.js

      JavaScript implementation of three.js WebGLRenderTarget ping-pong feedback to create a decaying trail/accumulation effect, with the core ping-pong render-target loop and shader-based feedback present (some differences from the exact “stamped quad” detail).

      codeMIT
    3. tdimino/claude-code-minoanskills/design-media/threejs-particle-canvas/assets/phosphor-vigil.js

      Direct Three.js implementation of a ping-pong WebGLRenderTarget feedback trail plus additional bloom/CRT composite; includes fullscreen triangle quad-style rendering and decay/feedback controls via shader uniforms.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "boat wake trail ping pong render target decaying trail texture stamped quad three.js",
      "language": "javascript",
      "license_mode": "strict"
    }
  94. 94
    +9:13Code GrepCode navigationthree“#define texture2D texture”190 msCompleted⌄

    #define texture2D texture

    Started
    Aug 7, 2026, 1:23:07 PM UTC
    Ended
    Aug 7, 2026, 1:23:07 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 821,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L801-L821",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 801
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 829,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L809-L829",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 809
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "#define texture2D texture",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 821,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L801-L821",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 801
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 829,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L809-L829",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 809
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  95. 95
    +9:41Code GrepCode navigationsimplex-noise“export function createNoise”20 sDeferred⌄

    export function createNoise

    Started
    Aug 7, 2026, 1:23:36 PM UTC
    Ended
    Aug 7, 2026, 1:23:57 PM UTC
    Outcome
    Deferred
    Targets
    1
    pkg:npm:simplex-noise@4.0.3

    Result summary

    {
      "files_too_large_skipped": 0,
      "indexing_ref": "947aa4ba-14a6-40cd-b190-39d79789a9c4",
      "next_cursor_present": false,
      "outcome": "deferred",
      "returned_matches": 0,
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "git_ref": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "kind": "code_target",
          "package_name": "simplex-noise",
          "registry": "npm",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "role": "resolved_requested",
          "version": "4.0.3"
        }
      ],
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "simplex-noise",
      "pattern": "export function createNoise",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "4.0.3",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "indexing_ref": "947aa4ba-14a6-40cd-b190-39d79789a9c4",
        "next_cursor_present": false,
        "outcome": "deferred",
        "returned_matches": 0,
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "git_ref": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "kind": "code_target",
            "package_name": "simplex-noise",
            "registry": "npm",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "role": "resolved_requested",
            "version": "4.0.3"
          }
        ],
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  96. 96
    +9:51Code GrepCode navigationthree“outputColorSpace”239 msCompleted⌄

    outputColorSpace

    Started
    Aug 7, 2026, 1:23:46 PM UTC
    Ended
    Aug 7, 2026, 1:23:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/common/RenderPipeline.js",
        "src/renderers/common/RenderPipeline.js",
        "src/renderers/common/RenderPipeline.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 306,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L302-L306",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 302
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2293,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2289-L2293",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2289
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2293,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2289-L2293",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2289
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2344,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2340-L2344",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2340
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2398,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2394-L2398",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2394
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3600,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3596-L3600",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3596
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3602,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3598-L3602",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3598
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3606,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3602-L3606",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3602
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3608,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3604-L3608",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3604
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 113,
          "file_path": "src/renderers/common/RenderPipeline.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderPipeline.js#L109-L113",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 109
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 113,
          "file_path": "src/renderers/common/RenderPipeline.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderPipeline.js#L109-L113",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 109
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 132,
          "file_path": "src/renderers/common/RenderPipeline.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderPipeline.js#L128-L132",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 128
        }
      ],
      "returned_matches": 12,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 12,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers"
        }
      ],
      "pattern": "outputColorSpace",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/common/RenderPipeline.js",
          "src/renderers/common/RenderPipeline.js",
          "src/renderers/common/RenderPipeline.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 306,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L302-L306",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 302
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2293,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2289-L2293",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2289
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2293,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2289-L2293",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2289
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2344,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2340-L2344",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2340
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2398,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2394-L2398",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2394
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3600,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3596-L3600",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3596
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3602,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3598-L3602",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3598
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3606,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3602-L3606",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3602
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3608,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3604-L3608",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3604
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 113,
            "file_path": "src/renderers/common/RenderPipeline.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderPipeline.js#L109-L113",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 109
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 113,
            "file_path": "src/renderers/common/RenderPipeline.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderPipeline.js#L109-L113",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 109
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 132,
            "file_path": "src/renderers/common/RenderPipeline.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderPipeline.js#L128-L132",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 128
          }
        ],
        "returned_matches": 12,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 12,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  97. 97
    +9:58Code GrepCode navigationthree“this.setAnimationLoop”178 msCompleted⌄

    this.setAnimationLoop

    Started
    Aug 7, 2026, 1:23:53 PM UTC
    Ended
    Aug 7, 2026, 1:23:53 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1584,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1578-L1584",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1578
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "this.setAnimationLoop",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1584,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1578-L1584",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1578
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  98. 98
    +10:02Get ExampleGenerated examplethree.js pooled InstancedMesh particle effects manager sparks smoke impact burst4 sources52 sCompleted⌄

    three.js pooled InstancedMesh particle effects manager sparks smoke impact burst · javascript · strict

    Started
    Aug 7, 2026, 1:23:56 PM UTC
    Ended
    Aug 7, 2026, 1:24:49 PM UTC
    Outcome
    Result returned
    Targets
    4

    Three.js InstancedMesh Particle Effects Manager

    import * as THREE from 'three';
    
    /**
     * A pooled, allocation-free particle manager using one InstancedMesh per effect.
     * Add the manager.group to a scene and call update(deltaSeconds) every frame.
     */
    export class ParticleEffectsManager {
        constructor({
            sparkCapacity = 512,
            smokeCapacity = 256,
            impactCapacity = 128,
        } = {}) {
            this.group = new THREE.Group();
            this.group.name = 'ParticleEffects';
            this.effects = new Map();
    
            this._createPool('spark', sparkCapacity, {
                geometry: new THREE.IcosahedronGeometry(0.045, 0),
                material: new THREE.MeshBasicMaterial({
                    color: 0xffaa33,
                    transparent: true,
                    opacity: 1,
                    depthWrite: false,
                    blending: THREE.AdditiveBlending,
                }),
                update: updateSpark,
            });
    
            this._createPool('smoke', smokeCapacity, {
                geometry: new THREE.PlaneGeometry(1, 1),
                material: new THREE.MeshBasicMaterial({
                    color: 0x777777,
                    transparent: true,
                    opacity: 0.55,
                    depthWrite: false,
                    side: THREE.DoubleSide,
                }),
                update: updateSmoke,
            });
    
            this._createPool('impact', impactCapacity, {
                geometry: new THREE.SphereGeometry(0.12, 8, 6),
                material: new THREE.MeshBasicMaterial({
                    color: 0xff5522,
                    transparent: true,
                    opacity: 1,
                    depthWrite: false,
                    blending: THREE.AdditiveBlending,
                }),
                update: updateImpact,
            });
    
            this._dummy = new THREE.Object3D();
        }
    
        _createPool(type, capacity, { geometry, material, update }) {
            const mesh = new THREE.InstancedMesh(geometry, material, capacity);
            mesh.instanceMatrix.setUsage(THREE.DynamicDrawUsage);
            mesh.frustumCulled = false;
            mesh.count = capacity;
            this.group.add(mesh);
    
            const particles = Array.from({ length: capacity }, () => ({
                active: false,
                age: 0,
                life: 0,
                position: new THREE.Vector3(),
                velocity: new THREE.Vector3(),
                scale: 1,
                rotation: 0,
                spin: 0,
                color: new THREE.Color(1, 1, 1),
            }));
    
            this.effects.set(type, { mesh, particles, update });
        }
    
        _acquire(type) {
            const pool = this.effects.get(type);
            if (!pool) throw new Error(`Unknown particle effect: ${type}`);
    
            const particle = pool.particles.find((item) => !item.active);
            if (!particle) return null; // Pool is full; drop this effect gracefully.
    
            particle.active = true;
            particle.age = 0;
            return particle;
        }
    
        spawnSpark(position, options = {}) {
            const particle = this._acquire('spark');
            if (!particle) return;
    
            const direction = options.direction?.clone() ?? randomDirection();
            particle.life = options.life ?? THREE.MathUtils.randFloat(0.2, 0.45);
            particle.position.copy(position);
            particle.velocity.copy(direction).normalize().multiplyScalar(
                options.speed ?? THREE.MathUtils.randFloat(3, 8),
            );
            particle.scale = options.scale ?? THREE.MathUtils.randFloat(0.7, 1.5);
            particle.spin = THREE.MathUtils.randFloatSpread(12);
            particle.color.set(options.color ?? 0xffaa33);
        }
    
        spawnSmoke(position, options = {}) {
            const particle = this._acquire('smoke');
            if (!particle) return;
    
            particle.life = options.life ?? THREE.MathUtils.randFloat(0.8, 1.5);
            particle.position.copy(position);
            particle.velocity.set(
                THREE.MathUtils.randFloatSpread(0.35),
                options.riseSpeed ?? THREE.MathUtils.randFloat(0.4, 1.2),
                THREE.MathUtils.randFloatSpread(0.35),
            );
            particle.scale = options.scale ?? THREE.MathUtils.randFloat(0.25, 0.5);
            particle.spin = THREE.MathUtils.randFloatSpread(2);
            particle.color.set(options.color ?? 0x777777);
        }
    
        spawnImpactBurst(position, options = {}) {
            const count = options.count ?? 24;
            for (let i = 0; i < count; i++) {
                this.spawnSpark(position, {
                    direction: randomDirection(),
                    speed: THREE.MathUtils.randFloat(3, 9),
                    life: THREE.MathUtils.randFloat(0.2, 0.5),
                    color: options.sparkColor ?? 0xff7722,
                });
            }
    
            for (let i = 0; i < Math.ceil(count / 8); i++) {
                this.spawnSmoke(position, {
                    life: THREE.MathUtils.randFloat(0.7, 1.3),
                    scale: THREE.MathUtils.randFloat(0.3, 0.65),
                    color: options.smokeColor ?? 0x666666,
                });
            }
        }
    
        update(deltaSeconds) {
            const dt = Math.min(deltaSeconds, 0.05);
    
            for (const pool of this.effects.values()) {
                for (const particle of pool.particles) {
                    if (!particle.active) continue;
    
                    particle.age += dt;
                    if (particle.age >= particle.life) {
                        particle.active = false;
                        setHiddenInstance(pool.mesh, particle);
                        continue;
                    }
    
                    pool.update(particle, dt);
                    const normalizedAge = particle.age / particle.life;
                    const visibleScale = particle.scale * (1 - normalizedAge);
    
                    this._dummy.position.copy(particle.position);
                    this._dummy.rotation.set(0, 0, particle.rotation);
                    this._dummy.scale.setScalar(Math.max(visibleScale, 0.0001));
                    this._dummy.updateMatrix();
    
                    const index = pool.particles.indexOf(particle);
                    pool.mesh.setMatrixAt(index, this._dummy.matrix);
                    if (pool.mesh.instanceColor) pool.mesh.setColorAt(index, particle.color);
                }
    
                pool.mesh.instanceMatrix.needsUpdate = true;
                if (pool.mesh.instanceColor) pool.mesh.instanceColor.needsUpdate = true;
            }
        }
    
        dispose() {
            for (const { mesh } of this.effects.values()) {
                mesh.geometry.dispose();
                mesh.material.dispose();
                this.group.remove(mesh);
            }
            this.effects.clear();
        }
    }
    
    function updateSpark(particle, dt) {
        particle.velocity.y -= 9.8 * dt;
        particle.position.addScaledVector(particle.velocity, dt);
        particle.rotation += particle.spin * dt;
    }
    
    function updateSmoke(particle, dt) {
        particle.position.addScaledVector(particle.velocity, dt);
        particle.scale *= 1 + dt * 0.9;
        particle.rotation += particle.spin * dt;
    }
    
    function updateImpact(particle, dt) {
        particle.position.addScaledVector(particle.velocity, dt);
        particle.velocity.multiplyScalar(Math.max(0, 1 - dt * 5));
        particle.rotation += particle.spin * dt;
    }
    
    function setHiddenInstance(mesh, particle) {
        const index = mesh.userData.particleIndex;
        // The index is assigned lazily by update() below when needed.
        if (index !== undefined) {
            const dummy = new THREE.Object3D();
            dummy.scale.setScalar(0.0001);
            dummy.updateMatrix();
            mesh.setMatrixAt(index, dummy.matrix);
        }
    }
    
    function randomDirection() {
        return new THREE.Vector3(
            THREE.MathUtils.randFloatSpread(2),
            THREE.MathUtils.randFloat(0.2, 1.2),
            THREE.MathUtils.randFloatSpread(2),
        ).normalize();
    }
    
    // Example usage:
    // const effects = new ParticleEffectsManager();
    // scene.add(effects.group);
    // effects.spawnImpactBurst(new THREE.Vector3(0, 1, 0));
    // renderer.setAnimationLoop(() => {
    //     effects.update(clock.getDelta());
    //     renderer.render(scene, camera);
    // });
    
    References
    4
    1. ali-albdaer/Project2026solar_system_sim/full_gen/gens/gen35/ARCHITECTURE.js

      Mentions three.js and an InstancedMesh-based performance approach (e.g., asteroid belt) but it’s generic simulation architecture rather than a concrete pooled particle-effects manager for sparks/smoke/impact bursts.

      codeMIT
    2. tentone/nunuStudiodocs/docs/api.js

      three.js-related API documentation for a JS 3D engine that includes InstancedMesh and particle/emitter concepts; useful background for building pooled particle effects, though it’s not a direct three.js InstancedMesh particle-effects manager implementation.

      codeMIT
    3. joshtol/emotive-enginesrc/3d/ThreeRenderer.js

      Strong Three.js renderer implementation that includes a particle effects pipeline (particle atmospherics manager, separate particle bloom, and instanced-element comments about velocity blur), which is directly relevant to building pooled spark/smoke/impact burst particle systems with InstancedMesh-like GPU batching; not narrowly focused on an explicit “InstancedMesh particle pooling manager” API.

      codeMIT
    4. nocoldiz/hypernet-explorer-pluginsjs/plugins/Vehicle/CamperDrivingSystem.js

      Includes a custom Three.js particle system (rain/snow) with buffered geometry and per-frame updates/cleanup, which is relevant to managing particle effects pooling/lifecycle, but it does not use InstancedMesh for sparks/smoke/impact bursts specifically (uses PointsMaterial instead).

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js pooled InstancedMesh particle effects manager sparks smoke impact burst",
      "language": "javascript",
      "license_mode": "strict"
    }
  99. 99
    +10:19Code GrepCode navigationthree“attribute vec3 normal”170 msCompleted⌄

    attribute vec3 normal

    Started
    Aug 7, 2026, 1:24:14 PM UTC
    Ended
    Aug 7, 2026, 1:24:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 632,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L616-L632",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 616
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "attribute vec3 normal",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 632,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L616-L632",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 616
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  100. 100
    +10:25Code ReadCode navigationthree162 msCompleted⌄
    Started
    Aug 7, 2026, 1:24:19 PM UTC
    Ended
    Aug 7, 2026, 1:24:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 19,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 19,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 19,
          "file_path": "src/renderers/shaders/ShaderChunk/project_vertex.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js#L1-L19",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 19
    }
    Request⌄

    Request payload

    {
      "end_line": 40,
      "file_path": "src/renderers/shaders/ShaderChunk/project_vertex.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 19,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 19,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 19,
            "file_path": "src/renderers/shaders/ShaderChunk/project_vertex.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js#L1-L19",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 19
      },
      "title": null,
      "content": null
    }
  101. 101
    +10:29Code GrepCode navigationthree“uniform mat3 normalMatrix”77 msCompleted⌄

    uniform mat3 normalMatrix

    Started
    Aug 7, 2026, 1:24:24 PM UTC
    Ended
    Aug 7, 2026, 1:24:24 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 606,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L596-L606",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 596
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "uniform mat3 normalMatrix",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 606,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L596-L606",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 596
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  102. 102
    +10:43Code GrepCode navigationthree“enabled: true”261 msCompleted⌄

    enabled: true

    Started
    Aug 7, 2026, 1:24:38 PM UTC
    Ended
    Aug 7, 2026, 1:24:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/ColorManagement.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 31,
          "file_path": "src/math/ColorManagement.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/ColorManagement.js#L11-L31",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 11
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/ColorManagement.js"
        }
      ],
      "pattern": "enabled: true",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/ColorManagement.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 31,
            "file_path": "src/math/ColorManagement.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/ColorManagement.js#L11-L31",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 11
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  103. 103
    +10:44Code GrepCode navigationsimplex-noise“export function createNoise”1 minDeferred⌄

    export function createNoise

    Started
    Aug 7, 2026, 1:24:39 PM UTC
    Ended
    Aug 7, 2026, 1:25:39 PM UTC
    Outcome
    Deferred
    Targets
    1
    pkg:npm:simplex-noise@4.0.3

    Result summary

    {
      "files_too_large_skipped": 0,
      "indexing_ref": "947aa4ba-14a6-40cd-b190-39d79789a9c4",
      "next_cursor_present": false,
      "outcome": "deferred",
      "returned_matches": 0,
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "git_ref": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "kind": "code_target",
          "package_name": "simplex-noise",
          "registry": "npm",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "role": "resolved_requested",
          "version": "4.0.3"
        }
      ],
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "simplex-noise",
      "pattern": "export function createNoise",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "4.0.3",
      "wait_timeout_ms": 60000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "indexing_ref": "947aa4ba-14a6-40cd-b190-39d79789a9c4",
        "next_cursor_present": false,
        "outcome": "deferred",
        "returned_matches": 0,
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "git_ref": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "kind": "code_target",
            "package_name": "simplex-noise",
            "registry": "npm",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "role": "resolved_requested",
            "version": "4.0.3"
          }
        ],
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  104. 104
    +10:55Get ExampleGenerated exampleinstanced grass wind sway vertex shader three.js InstancedMesh distance fade4 sources32 sCompleted⌄

    instanced grass wind sway vertex shader three.js InstancedMesh distance fade · javascript · strict

    Started
    Aug 7, 2026, 1:24:50 PM UTC
    Ended
    Aug 7, 2026, 1:25:21 PM UTC
    Outcome
    Result returned
    Targets
    4

    Three.js Instanced Grass with Wind Sway and Distance Fade

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9cc9e8);
    scene.fog = new THREE.Fog(0x9cc9e8, 35, 110);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 200);
    camera.position.set(0, 8, 15);
    camera.lookAt(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xdff4ff, 0x536b3c, 2));
    const sun = new THREE.DirectionalLight(0xffffff, 2.5);
    sun.position.set(20, 30, 10);
    scene.add(sun);
    
    function createGrassBladeGeometry() {
      const rows = 6;
      const positions = [];
      const uvs = [];
      const indices = [];
    
      for (let row = 0; row < rows; row++) {
        const h = row / (rows - 1);
        const width = 0.11 * (1 - h * 0.9);
        const y = h;
        const bend = h * h * 0.18;
    
        positions.push(-width, y, bend, width, y, bend);
        uvs.push(0, h, 1, h);
      }
    
      for (let row = 0; row < rows - 1; row++) {
        const a = row * 2;
        indices.push(a, a + 1, a + 3, a, a + 3, a + 2);
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3));
      geometry.setAttribute('uv', new THREE.Float32BufferAttribute(uvs, 2));
      geometry.setIndex(indices);
      geometry.computeVertexNormals();
      return geometry;
    }
    
    function createGrassMaterial() {
      return new THREE.ShaderMaterial({
        uniforms: {
          uTime: { value: 0 },
          uWindDirection: { value: new THREE.Vector2(0.85, 0.5).normalize() },
          uWindStrength: { value: 0.42 },
          uFadeStart: { value: 30.0 },
          uFadeEnd: { value: 75.0 }
        },
        vertexColors: true,
        side: THREE.DoubleSide,
        transparent: true,
        depthWrite: false,
        vertexShader: /* glsl */ `
          attribute float aPhase;
          varying vec3 vColor;
          varying float vDistance;
          varying float vHeight;
    
          uniform float uTime;
          uniform vec2 uWindDirection;
          uniform float uWindStrength;
    
          void main() {
            float height = clamp(position.y, 0.0, 1.0);
            float anchored = height * height;
    
            vec3 localPosition = position;
            vec3 instanceOrigin = (modelMatrix * instanceMatrix * vec4(0.0, 0.0, 0.0, 1.0)).xyz;
    
            float broadWave = sin(
              dot(instanceOrigin.xz, uWindDirection) * 0.16 - uTime * 1.4 + aPhase
            );
            float detailWave = cos(
              dot(instanceOrigin.xz, vec2(-uWindDirection.y, uWindDirection.x)) * 0.31
              - uTime * 2.1 + aPhase * 1.7
            );
    
            float gust = broadWave * 0.75 + detailWave * 0.25;
            vec2 displacement = uWindDirection * gust * uWindStrength * anchored;
            displacement += vec2(detailWave, broadWave) * 0.035 * anchored;
    
            localPosition.xz += displacement;
            localPosition.y -= dot(displacement, displacement) * 0.35;
    
            vec4 worldPosition = modelMatrix * instanceMatrix * vec4(localPosition, 1.0);
            vDistance = distance(worldPosition.xyz, cameraPosition);
            vColor = instanceColor;
            vHeight = height;
    
            gl_Position = projectionMatrix * viewMatrix * worldPosition;
          }
        `,
        fragmentShader: /* glsl */ `
          varying vec3 vColor;
          varying float vDistance;
          varying float vHeight;
    
          uniform float uFadeStart;
          uniform float uFadeEnd;
    
          void main() {
            // Smoothly remove distant blades instead of abruptly hiding whole tiles.
            float distanceFade = 1.0 - smoothstep(uFadeStart, uFadeEnd, vDistance);
            float rootShade = mix(0.58, 1.0, vHeight);
            float alpha = distanceFade * smoothstep(0.02, 0.12, vHeight);
    
            if (alpha < 0.01) discard;
            gl_FragColor = vec4(vColor * rootShade, alpha);
          }
        `
      });
    }
    
    function createGrassField(count = 12000, radius = 42) {
      const geometry = createGrassBladeGeometry();
      const material = createGrassMaterial();
      const grass = new THREE.InstancedMesh(geometry, material, count);
      grass.frustumCulled = true;
      grass.castShadow = false;
      grass.receiveShadow = true;
    
      const dummy = new THREE.Object3D();
      const color = new THREE.Color();
      const phases = new Float32Array(count);
      const colors = new Float32Array(count * 3);
    
      for (let i = 0; i < count; i++) {
        const angle = Math.random() * Math.PI * 2;
        const distance = Math.sqrt(Math.random()) * radius;
        const x = Math.cos(angle) * distance;
        const z = Math.sin(angle) * distance;
        const scale = 0.55 + Math.random() * 0.9;
    
        dummy.position.set(x, 0, z);
        dummy.rotation.y = Math.random() * Math.PI * 2;
        dummy.scale.set(scale, scale * (0.8 + Math.random() * 0.7), scale);
        dummy.updateMatrix();
        grass.setMatrixAt(i, dummy.matrix);
    
        phases[i] = Math.random() * Math.PI * 2;
        color.setHSL(0.25 + Math.random() * 0.06, 0.55, 0.28 + Math.random() * 0.18);
        colors[i * 3] = color.r;
        colors[i * 3 + 1] = color.g;
        colors[i * 3 + 2] = color.b;
      }
    
      geometry.setAttribute('aPhase', new THREE.InstancedBufferAttribute(phases, 1));
      grass.instanceColor = new THREE.InstancedBufferAttribute(colors, 3);
      grass.instanceMatrix.needsUpdate = true;
      grass.instanceColor.needsUpdate = true;
      return grass;
    }
    
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(110, 110),
      new THREE.MeshStandardMaterial({ color: 0x496b38, roughness: 1 })
    );
    ground.rotation.x = -Math.PI / 2;
    scene.add(ground);
    
    const grass = createGrassField();
    scene.add(grass);
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      grass.material.uniforms.uTime.value = clock.getElapsedTime();
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    4
    1. arumes31/mon-captchasrc/terrain.js

      This JavaScript Three.js project includes wind/sway animation logic in a large InstancedMesh-based environment (anchors include "wind"/"sway" and shader usage), but the snippet shown doesn’t clearly demonstrate the specific vertex-shader implementation details for instanced grass wind nor a distance-fade mechanism.

      codeMIT
    2. ocftw/ssddocs/games/main.js

      Three.js InstancedMesh-based grass/foliage uses custom vertex shader wind sway (uTime/uWind) and GPU bending, with additional interaction (grass push) implemented in JavaScript. However, the query’s specific “distance fade” term/logic for InstancedMesh grass isn’t clearly present in the shown snippet.

      codeCC-BY-4.0
    3. craftmygame/little-citylittle-taipei/main.js

      Contains Three.js InstancedMesh vegetation with custom GLSL vertex shader wind sway (uTime, sin/cos in vertexShader) in JavaScript; however it doesn’t clearly implement distance fade logic in the same InstancedMesh shader, so it’s only a partial match to the full “wind + distance fade” query.

      codeApache-2.0
    4. Drommedhar/novalist-officialapp/src/renderer/public/map/map3d.js

      Three.js grass via InstancedMesh with a wind sway implemented in the (node-based) vertex shader, including per-instance attributes (grassRoot/phase/tint). It’s close to the requested “instanced grass wind sway vertex shader,” but the query’s “distance fade” aspect isn’t clearly implemented in the shader (fade seems handled via tile culling/visibility rather than a vertex distance-fade).

      codeMIT
    Request⌄

    Request payload

    {
      "query": "instanced grass wind sway vertex shader three.js InstancedMesh distance fade",
      "language": "javascript",
      "license_mode": "strict"
    }
  105. 105
    +11:38Code GrepCode navigationthree“USE_INSTANCING_COLOR”2.3 sCompleted⌄

    USE_INSTANCING_COLOR

    Started
    Aug 7, 2026, 1:25:32 PM UTC
    Ended
    Aug 7, 2026, 1:25:35 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 492,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L480-L492",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 480
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 617,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L605-L617",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 605
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "USE_INSTANCING_COLOR",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 492,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L480-L492",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 480
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 617,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L605-L617",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 605
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  106. 106
    +11:44Get ExampleGenerated examplethree.js ShaderMaterial instanced attributes per instance alpha billboard quad vertex shader3 sources31 sCompleted⌄

    three.js ShaderMaterial instanced attributes per instance alpha billboard quad vertex shader · javascript · strict

    Started
    Aug 7, 2026, 1:25:38 PM UTC
    Ended
    Aug 7, 2026, 1:26:09 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Instanced Billboard Quads with Per-Instance Alpha

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.1, 100);
    camera.position.z = 8;
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    document.body.appendChild(renderer.domElement);
    
    const vertexShader = `
      precision highp float;
    
      attribute vec3 instancePosition;
      attribute float instanceSize;
      attribute float instanceAlpha;
      attribute vec3 instanceColor;
    
      varying vec2 vUv;
      varying float vAlpha;
      varying vec3 vColor;
    
      void main() {
        vUv = position.xy * 0.5 + 0.5;
        vAlpha = instanceAlpha;
        vColor = instanceColor;
    
        // Extract camera-right and camera-up vectors from the view matrix.
        vec3 cameraRight = vec3(viewMatrix[0][0], viewMatrix[1][0], viewMatrix[2][0]);
        vec3 cameraUp = vec3(viewMatrix[0][1], viewMatrix[1][1], viewMatrix[2][1]);
    
        vec3 worldPosition = instancePosition
          + cameraRight * position.x * instanceSize
          + cameraUp * position.y * instanceSize;
    
        gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition, 1.0);
      }
    `;
    
    const fragmentShader = `
      precision highp float;
    
      varying vec2 vUv;
      varying float vAlpha;
      varying vec3 vColor;
    
      void main() {
        vec2 centered = vUv - 0.5;
        float distanceSquared = dot(centered, centered) * 4.0;
        float roundAlpha = 1.0 - smoothstep(0.75, 1.0, distanceSquared);
        float alpha = roundAlpha * vAlpha;
    
        if (alpha < 0.01) discard;
        gl_FragColor = vec4(vColor, alpha);
      }
    `;
    
    const instanceCount = 2000;
    const geometry = new THREE.InstancedBufferGeometry();
    
    // One unit quad; each instance is positioned and scaled in the vertex shader.
    geometry.setAttribute(
      'position',
      new THREE.Float32BufferAttribute([
        -1, -1, 0,
         1, -1, 0,
         1,  1, 0,
        -1,  1, 0
      ], 3)
    );
    geometry.setIndex([0, 1, 2, 0, 2, 3]);
    
    const positions = new Float32Array(instanceCount * 3);
    const sizes = new Float32Array(instanceCount);
    const alphas = new Float32Array(instanceCount);
    const colors = new Float32Array(instanceCount * 3);
    
    for (let i = 0; i < instanceCount; i++) {
      const i3 = i * 3;
      positions[i3] = (Math.random() - 0.5) * 12;
      positions[i3 + 1] = (Math.random() - 0.5) * 7;
      positions[i3 + 2] = (Math.random() - 0.5) * 5;
    
      sizes[i] = 0.03 + Math.random() * 0.12;
      alphas[i] = 0.2 + Math.random() * 0.8;
    
      const color = new THREE.Color().setHSL(0.55 + Math.random() * 0.2, 0.8, 0.6);
      colors[i3] = color.r;
      colors[i3 + 1] = color.g;
      colors[i3 + 2] = color.b;
    }
    
    geometry.setAttribute('instancePosition', new THREE.InstancedBufferAttribute(positions, 3));
    geometry.setAttribute('instanceSize', new THREE.InstancedBufferAttribute(sizes, 1));
    geometry.setAttribute('instanceAlpha', new THREE.InstancedBufferAttribute(alphas, 1));
    geometry.setAttribute('instanceColor', new THREE.InstancedBufferAttribute(colors, 3));
    geometry.instanceCount = instanceCount;
    geometry.frustumCulled = false;
    
    const material = new THREE.ShaderMaterial({
      vertexShader,
      fragmentShader,
      transparent: true,
      depthWrite: false,
      blending: THREE.AdditiveBlending
    });
    
    const billboards = new THREE.Mesh(geometry, material);
    scene.add(billboards);
    
    function animate() {
      requestAnimationFrame(animate);
      billboards.rotation.y += 0.001;
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    3
    1. enjalot/latent-scopeweb/src/components/Explore/Scatter3D.jsx

      Direct three.js implementation using THREE.ShaderMaterial with InstancedBufferGeometry/instanced attributes (iPos/iColor/iId/iCluster) to render instanced billboard-like quads, including per-instance alpha via a varying/energy-preserving alpha computation in the shaders.

      codeMIT
    2. nikonikoCW/Meteor3DEditorpackages/core/src/RainManager.js

      Good match to three.js ShaderMaterial + instanced attributes driving per-instance variation, with a vertex-shader billboarded quad using custom instance data (aProgress/aSpeed). Missing explicit per-instance alpha billboard behavior from the query, but the core instanced+billboard shader pattern is present.

      codeMIT
    3. nikonikoCW/Meteor3DEditorpackages/core/src/SnowManager.js

      Uses three.js ShaderMaterial with InstancedBufferAttribute-style per-instance attributes (speed/offset/scale) and includes a billboard-like quad positioning in the vertex shader; closest available match for instanced billboard behavior with per-instance shader inputs (not explicitly per-instance alpha).

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js ShaderMaterial instanced attributes per instance alpha billboard quad vertex shader",
      "language": "javascript",
      "license_mode": "strict"
    }
  107. 107
    +11:46Code GrepCode navigationthree“"./examples/jsm/”714 msCompleted⌄

    "./examples/jsm/

    Started
    Aug 7, 2026, 1:25:41 PM UTC
    Ended
    Aug 7, 2026, 1:25:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "package.json",
        "package.json",
        "package.json",
        "package.json"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 18,
          "file_path": "package.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L10-L18",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 10
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 18,
          "file_path": "package.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L10-L18",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 10
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 19,
          "file_path": "package.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L11-L19",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 11
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 20,
          "file_path": "package.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L12-L20",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 12
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "package.json"
        }
      ],
      "pattern": "\"./examples/jsm/",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "package.json",
          "package.json",
          "package.json",
          "package.json"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 18,
            "file_path": "package.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L10-L18",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 10
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 18,
            "file_path": "package.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L10-L18",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 10
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 19,
            "file_path": "package.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L11-L19",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 11
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 20,
            "file_path": "package.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L12-L20",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 12
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  108. 108
    +11:57Get ExampleGenerated exampleWeb Audio API procedural music synthesizer ADSR envelope oscillator filter step sequencer lookahead scheduler1 source40 sCompleted⌄

    Web Audio API procedural music synthesizer ADSR envelope oscillator filter step sequencer lookahead scheduler · javascript · strict

    Started
    Aug 7, 2026, 1:25:52 PM UTC
    Ended
    Aug 7, 2026, 1:26:32 PM UTC
    Outcome
    Result returned
    Targets
    1

    Web Audio API ADSR Step Sequencer with Lookahead Scheduling

    // Save as sequencer.js and load with: <script type="module" src="sequencer.js"></script>
    
    const LOOKAHEAD_MS = 25;
    const SCHEDULE_AHEAD = 0.1;
    const BPM = 112;
    const STEP_SECONDS = 60 / BPM / 2; // eighth-note grid
    
    const state = {
      context: null,
      master: null,
      timer: null,
      nextStepTime: 0,
      step: 0,
      running: false,
    };
    
    const pattern = [
      { note: 261.63, gate: 0.85 }, // C4
      null,
      { note: 329.63, gate: 0.65 }, // E4
      null,
      { note: 392.00, gate: 0.80 }, // G4
      { note: 329.63, gate: 0.55 },
      { note: 293.66, gate: 0.70 }, // D4
      null,
      { note: 261.63, gate: 0.85 },
      null,
      { note: 349.23, gate: 0.65 }, // F4
      null,
      { note: 440.00, gate: 0.80 }, // A4
      { note: 392.00, gate: 0.55 },
      { note: 329.63, gate: 0.70 },
      null,
    ];
    
    function createInterface() {
      const start = document.createElement('button');
      start.textContent = 'Start';
      start.style.cssText = 'font:16px sans-serif;padding:8px 16px';
    
      const status = document.createElement('output');
      status.textContent = ' stopped';
      status.style.cssText = 'font:16px sans-serif;margin-left:10px';
    
      start.addEventListener('click', async () => {
        if (!state.context) await createAudioGraph();
    
        if (state.running) {
          stop();
          start.textContent = 'Start';
          status.textContent = ' stopped';
        } else {
          await state.context.resume();
          startSequencer();
          start.textContent = 'Stop';
          status.textContent = ' playing';
        }
      });
    
      document.body.append(start, status);
    }
    
    async function createAudioGraph() {
      const context = new AudioContext();
      const master = context.createGain();
      master.gain.value = 0.18;
      master.connect(context.destination);
    
      state.context = context;
      state.master = master;
    }
    
    function startSequencer() {
      state.running = true;
      state.step = 0;
      state.nextStepTime = state.context.currentTime + 0.05;
      scheduler();
      state.timer = setInterval(scheduler, LOOKAHEAD_MS);
    }
    
    function scheduler() {
      if (!state.running) return;
    
      const now = state.context.currentTime;
      while (state.nextStepTime < now + SCHEDULE_AHEAD) {
        scheduleStep(state.step, state.nextStepTime);
        state.nextStepTime += STEP_SECONDS;
        state.step = (state.step + 1) % pattern.length;
      }
    }
    
    function scheduleStep(index, time) {
      const event = pattern[index];
      if (!event) return;
    
      // The note length is scheduled on the audio clock, not the wall clock.
      const duration = STEP_SECONDS * event.gate;
      createVoice(event.note, time, duration);
    }
    
    function createVoice(frequency, startTime, duration) {
      const context = state.context;
      const oscillator = context.createOscillator();
      const filter = context.createBiquadFilter();
      const envelope = context.createGain();
    
      oscillator.type = 'sawtooth';
      oscillator.frequency.setValueAtTime(frequency, startTime);
    
      // A gentle low-pass sweep gives each note a changing timbre.
      filter.type = 'lowpass';
      filter.Q.setValueAtTime(5, startTime);
      filter.frequency.setValueAtTime(700, startTime);
      filter.frequency.linearRampToValueAtTime(2400, startTime + 0.08);
      filter.frequency.exponentialRampToValueAtTime(900, startTime + duration);
    
      // ADSR envelope: attack, decay, sustain, release.
      const attack = 0.012;
      const decay = 0.12;
      const release = 0.18;
      const sustain = 0.34;
      const peak = 0.16;
      const releaseStart = startTime + duration;
    
      envelope.gain.setValueAtTime(0.0001, startTime);
      envelope.gain.linearRampToValueAtTime(peak, startTime + attack);
      envelope.gain.exponentialRampToValueAtTime(
        peak * sustain,
        startTime + attack + decay,
      );
      envelope.gain.setValueAtTime(peak * sustain, releaseStart);
      envelope.gain.exponentialRampToValueAtTime(
        0.0001,
        releaseStart + release,
      );
    
      oscillator.connect(filter).connect(envelope).connect(state.master);
      oscillator.start(startTime);
      oscillator.stop(releaseStart + release + 0.02);
    
      // Release node references after the voice finishes.
      oscillator.addEventListener('ended', () => {
        oscillator.disconnect();
        filter.disconnect();
        envelope.disconnect();
      });
    }
    
    function stop() {
      state.running = false;
      clearInterval(state.timer);
      state.timer = null;
    }
    
    createInterface();
    
    References
    1
    1. jeromeetienne/binaural_musicAdd musical layers to the synthesis engine

      Relevant to a JavaScript Web Audio API procedural synthesizer for binaural/step-sequencer-style scheduling: it discusses layered synthesis, lookahead scheduling, and audio graph design constraints (though it’s an issue discussion rather than concrete code).

      issueMIT
    Request⌄

    Request payload

    {
      "query": "Web Audio API procedural music synthesizer ADSR envelope oscillator filter step sequencer lookahead scheduler",
      "language": "javascript",
      "license_mode": "strict"
    }
  109. 109
    +12:45Get ExampleGenerated exampleWeb Audio ConvolverNode synthetic impulse response reverb crossfading adaptive music layers gain ramps3 sources32 sCompleted⌄

    Web Audio ConvolverNode synthetic impulse response reverb crossfading adaptive music layers gain ramps · javascript · strict

    Started
    Aug 7, 2026, 1:26:40 PM UTC
    Ended
    Aug 7, 2026, 1:27:12 PM UTC
    Outcome
    Result returned
    Targets
    3

    Synthetic Convolver Reverb and Adaptive Music Crossfades

    // Browser Web Audio example: synthetic impulse-response reverb crossfading
    // plus adaptive music layers controlled with scheduled gain ramps.
    
    const button = document.createElement('button');
    button.textContent = 'Start adaptive audio';
    button.style.cssText = 'position:fixed;top:1rem;left:1rem;padding:.7rem 1rem;font:16px sans-serif';
    document.body.appendChild(button);
    
    let audio;
    
    function clamp(value, min = 0, max = 1) {
      return Math.max(min, Math.min(max, value));
    }
    
    function rampGain(param, value, duration, now) {
      param.cancelScheduledValues(now);
      param.setValueAtTime(param.value, now);
      param.linearRampToValueAtTime(value, now + duration);
    }
    
    function createSyntheticImpulseResponse(context, {
      duration = 2.8,
      decay = 3.5,
      brightness = 0.7,
      reverse = false
    } = {}) {
      const length = Math.floor(context.sampleRate * duration);
      const impulse = context.createBuffer(2, length, context.sampleRate);
    
      for (let channel = 0; channel < impulse.numberOfChannels; channel++) {
        const data = impulse.getChannelData(channel);
    
        for (let i = 0; i < length; i++) {
          const t = i / context.sampleRate;
          const normalized = reverse ? 1 - t / duration : t / duration;
          const envelope = Math.pow(Math.max(0, normalized), decay);
          const earlyReflection =
            i === Math.floor(context.sampleRate * (0.017 + channel * 0.003)) ? 0.8 : 0;
          const highFrequencyLoss = 1 - brightness * t / duration;
          const noise = Math.random() * 2 - 1;
          data[i] = (noise * envelope * highFrequencyLoss * 0.7) + earlyReflection;
        }
      }
    
      return impulse;
    }
    
    function createCrossfadingReverb(context, destination) {
      const input = context.createGain();
      const dry = context.createGain();
      const wet = context.createGain();
      const convolvers = [context.createConvolver(), context.createConvolver()];
      const wetGains = [context.createGain(), context.createGain()];
      let active = 0;
    
      input.connect(dry);
      dry.connect(destination);
    
      input.connect(convolvers[0]);
      input.connect(convolvers[1]);
      convolvers[0].connect(wetGains[0]);
      convolvers[1].connect(wetGains[1]);
      wetGains[0].connect(wet);
      wetGains[1].connect(wet);
      wet.connect(destination);
    
      dry.gain.value = 0.72;
      wet.gain.value = 0.42;
      wetGains[0].gain.value = 1;
      wetGains[1].gain.value = 0;
    
      function setImpulse(buffer, crossfadeSeconds = 1.5) {
        const next = 1 - active;
        convolvers[next].buffer = buffer;
    
        const now = context.currentTime;
        const end = now + crossfadeSeconds;
        wetGains[next].gain.cancelScheduledValues(now);
        wetGains[active].gain.cancelScheduledValues(now);
        wetGains[next].gain.setValueAtTime(0, now);
        wetGains[active].gain.setValueAtTime(wetGains[active].gain.value, now);
        wetGains[next].gain.linearRampToValueAtTime(1, end);
        wetGains[active].gain.linearRampToValueAtTime(0, end);
    
        window.setTimeout(() => {
          active = next;
        }, crossfadeSeconds * 1000);
      }
    
      setImpulse(createSyntheticImpulseResponse(context, {
        duration: 2.2,
        decay: 3.8,
        brightness: 0.8
      }), 0);
    
      return { input, setImpulse };
    }
    
    function createAdaptiveMusic(context, destination) {
      const musicBus = context.createGain();
      musicBus.gain.value = 0.32;
      musicBus.connect(destination);
    
      const layers = [
        { name: 'pad', frequency: 110, gain: 0.18, oscillatorType: 'sine' },
        { name: 'pulse', frequency: 220, gain: 0.0, oscillatorType: 'triangle' },
        { name: 'lead', frequency: 330, gain: 0.0, oscillatorType: 'sawtooth' }
      ];
    
      for (const layer of layers) {
        const oscillator = context.createOscillator();
        const gain = context.createGain();
        const filter = context.createBiquadFilter();
    
        oscillator.type = layer.oscillatorType;
        oscillator.frequency.value = layer.frequency;
        filter.type = 'lowpass';
        filter.frequency.value = layer.name === 'pad' ? 900 : 1800;
        gain.gain.value = layer.gain;
    
        oscillator.connect(filter);
        filter.connect(gain);
        gain.connect(musicBus);
        oscillator.start();
    
        layer.oscillator = oscillator;
        layer.gainNode = gain;
      }
    
      function setIntensity(intensity, duration = 1.25) {
        intensity = clamp(intensity);
        const now = context.currentTime;
    
        // Each layer follows the same musical state but has a different role.
        const targets = [
          0.18,
          0.04 + intensity * 0.16,
          intensity * 0.12
        ];
    
        layers.forEach((layer, index) => {
          rampGain(layer.gainNode.gain, targets[index], duration, now);
        });
      }
    
      function stop() {
        const now = context.currentTime;
        layers.forEach(layer => {
          rampGain(layer.gainNode.gain, 0, 0.5, now);
          layer.oscillator.stop(now + 0.55);
        });
      }
    
      return { musicBus, setIntensity, stop };
    }
    
    async function startAudio() {
      if (audio) return;
    
      const context = new AudioContext();
      await context.resume();
    
      const master = context.createGain();
      const compressor = context.createDynamicsCompressor();
      master.gain.value = 0.7;
      master.connect(compressor);
      compressor.connect(context.destination);
    
      const reverb = createCrossfadingReverb(context, master);
      const music = createAdaptiveMusic(context, reverb.input);
    
      audio = { context, master, reverb, music };
      button.textContent = 'Change mood / reverb';
    
      let intense = false;
      button.addEventListener('click', () => {
        intense = !intense;
        music.setIntensity(intense ? 1 : 0.15, 2);
        reverb.setImpulse(createSyntheticImpulseResponse(context, intense ? {
          duration: 3.6,
          decay: 2.2,
          brightness: 0.45
        } : {
          duration: 1.7,
          decay: 5.0,
          brightness: 0.9,
          reverse: true
        }), 2);
        button.textContent = intense ? 'Return to calm mood' : 'Increase intensity';
      }, { once: true });
    
      // Demonstrate a later adaptive state transition without recreating nodes.
      window.setTimeout(() => {
        if (audio) music.setIntensity(0.65, 3);
      }, 8000);
    }
    
    button.addEventListener('click', startAudio, { once: true });
    
    References
    3
    1. IDMNYU/DM-GY6063A-Creative-Codingweek_06/libraries/p5.sound.js

      Contains p5.sound Web Audio reverb implementation with ConvolverNode (p5.Convolver) and gain/amp ramping patterns (e.g., Reverb/Delay amp), which is directly relevant to convolver-based synthetic impulse response reverb, though it doesn’t explicitly show crossfading of impulse responses or adaptive music layer crossfades.

      codeMIT
    2. markjspivey-xwisee/planet-edenjs/engine/audio.js

      Implements an adaptive music system in plain Web Audio (layering, volume/mix buses, and timed transitions/crossfade via musicTransitionTime), but it does not reference ConvolverNode or impulse-response reverb crossfading; it’s relevant for the adaptive music crossfade/gain-ramp part only.

      codeMIT
    3. IDMNYU/DM-GY6063A-Creative-Codingweek_11/libraries/p5.sound.js

      Includes Web Audio reverb via ConvolverNode in a JavaScript audio effects library (p5.sound), and contains related gain/amp ramping patterns (e.g., Delay/Reverb amp), which is useful for implementing reverb crossfades though it may not cover synthetic impulse crossfade/adaptive-layer specifics.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "Web Audio ConvolverNode synthetic impulse response reverb crossfading adaptive music layers gain ramps",
      "language": "javascript",
      "license_mode": "strict"
    }
  110. 110
    +13:23Get ExampleGenerated exampleHTML DOM overlay HUD on top of three.js canvas pointer-events none typewriter dialogue box1 source23 sCompleted⌄

    HTML DOM overlay HUD on top of three.js canvas pointer-events none typewriter dialogue box · javascript · strict

    Started
    Aug 7, 2026, 1:27:17 PM UTC
    Ended
    Aug 7, 2026, 1:27:41 PM UTC
    Outcome
    Result returned
    Targets
    1

    Three.js Canvas with Non-Blocking Typewriter HUD

    // Add this after creating your Three.js renderer, scene, and camera.
    // Example: const renderer = new THREE.WebGLRenderer({ antialias: true });
    
    const canvas = renderer.domElement;
    canvas.style.display = 'block';
    canvas.style.width = '100%';
    canvas.style.height = '100%';
    
    // The HUD covers the canvas visually but does not intercept game input.
    const hud = document.createElement('div');
    hud.className = 'game-hud';
    hud.innerHTML = `
      <section class="dialogue-box" aria-live="polite">
        <div class="dialogue-name"></div>
        <p class="dialogue-text"></p>
      </section>
    `;
    document.body.appendChild(hud);
    
    const style = document.createElement('style');
    style.textContent = `
      html, body {
        width: 100%;
        height: 100%;
        margin: 0;
        overflow: hidden;
      }
    
      .game-hud {
        position: fixed;
        inset: 0;
        z-index: 10;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: clamp(16px, 5vw, 56px);
        box-sizing: border-box;
        pointer-events: none;
        font-family: system-ui, sans-serif;
      }
    
      .dialogue-box {
        width: min(720px, 100%);
        min-height: 96px;
        padding: 18px 22px;
        box-sizing: border-box;
        color: white;
        background: rgb(12 18 32 / 88%);
        border: 2px solid rgb(120 210 255 / 75%);
        border-radius: 12px;
        box-shadow: 0 8px 30px rgb(0 0 0 / 35%);
        pointer-events: none;
      }
    
      .dialogue-name {
        margin-bottom: 8px;
        color: #7edcff;
        font-weight: 700;
      }
    
      .dialogue-text {
        margin: 0;
        line-height: 1.5;
        white-space: pre-wrap;
      }
    
      .dialogue-text::after {
        content: '▋';
        margin-left: 3px;
        animation: blink 800ms steps(1) infinite;
      }
    
      @keyframes blink {
        50% { opacity: 0; }
      }
    
      @media (max-width: 600px) {
        .game-hud { padding: 16px; }
        .dialogue-box { padding: 14px 16px; }
      }
    `;
    document.head.appendChild(style);
    
    const nameElement = hud.querySelector('.dialogue-name');
    const textElement = hud.querySelector('.dialogue-text');
    let typewriterTimer = null;
    let typewriterResolve = null;
    
    function typeDialogue({ speaker, text, speed = 32 }) {
      clearInterval(typewriterTimer);
      typewriterResolve?.();
    
      nameElement.textContent = speaker;
      textElement.textContent = '';
      let characterIndex = 0;
    
      return new Promise((resolve) => {
        typewriterResolve = resolve;
        typewriterTimer = setInterval(() => {
          textElement.textContent += text[characterIndex++];
    
          if (characterIndex >= text.length) {
            clearInterval(typewriterTimer);
            typewriterTimer = null;
            typewriterResolve = null;
            resolve();
          }
        }, speed);
      });
    }
    
    function hideDialogue() {
      clearInterval(typewriterTimer);
      typewriterTimer = null;
      nameElement.textContent = '';
      textElement.textContent = '';
    }
    
    // Demonstration. The canvas remains fully usable because the HUD has
    // pointer-events: none, so clicks, dragging, and touch reach Three.js.
    (async () => {
      await typeDialogue({
        speaker: 'Captain Skipper',
        text: 'Welcome aboard. The ferry leaves when the lantern turns blue.',
      });
    
      await new Promise((resolve) => setTimeout(resolve, 1800));
      hideDialogue();
    })();
    
    // Keep your normal Three.js render loop unchanged.
    function animate() {
      requestAnimationFrame(animate);
      renderer.render(scene, camera);
    }
    animate();
    
    References
    1
    1. Tanner253/ClubPenguwhitepaper/src/data/changelogData.js

      Mentions “typewriter/dialogue” and “overlay” in a Three.js-style game HUD context, but it’s a changelog data file and doesn’t provide a concrete HTML/CSS/DOM implementation for `pointer-events: none` or a canvas DOM overlay typewriter solution.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "HTML DOM overlay HUD on top of three.js canvas pointer-events none typewriter dialogue box",
      "language": "javascript",
      "license_mode": "strict"
    }
  111. 111
    +13:52Get ExampleGenerated examplelocalStorage game save system versioned schema migration JSON serialize slots try catch quota1 source37 sCompleted⌄

    localStorage game save system versioned schema migration JSON serialize slots try catch quota · javascript · strict

    Started
    Aug 7, 2026, 1:27:46 PM UTC
    Ended
    Aug 7, 2026, 1:28:23 PM UTC
    Outcome
    Result returned
    Targets
    1

    Versioned localStorage Game Save System with Slot Migration

    const SAVE_VERSION = 2;
    const SAVE_KEY_PREFIX = 'game-save-slot:';
    const SETTINGS_KEY = 'game-settings';
    const SLOT_COUNT = 3;
    
    const DEFAULT_SETTINGS = {
      sound: true,
      difficulty: 'normal',
    };
    
    /**
     * A small, versioned save system with JSON serialization, migrations,
     * multiple slots, settings persistence, and safe localStorage access.
     */
    class SaveSystem {
      static save(slot, state) {
        this.assertSlot(slot);
    
        const payload = {
          version: SAVE_VERSION,
          savedAt: new Date().toISOString(),
          state,
        };
    
        try {
          localStorage.setItem(
            `${SAVE_KEY_PREFIX}${slot}`,
            JSON.stringify(payload),
          );
          return true;
        } catch (error) {
          // Includes quota errors and environments where storage is unavailable.
          console.error('Could not save game:', error);
          return false;
        }
      }
    
      static load(slot) {
        this.assertSlot(slot);
    
        try {
          const raw = localStorage.getItem(`${SAVE_KEY_PREFIX}${slot}`);
          if (raw === null) return null;
    
          const payload = JSON.parse(raw);
          const migrated = this.migrate(payload);
    
          // Persist a migrated payload so future loads need no migration work.
          if (migrated.version !== payload.version) {
            localStorage.setItem(
              `${SAVE_KEY_PREFIX}${slot}`,
              JSON.stringify(migrated),
            );
          }
    
          return migrated.state;
        } catch (error) {
          console.warn(`Could not load slot ${slot}; treating it as empty.`, error);
          return null;
        }
      }
    
      static delete(slot) {
        this.assertSlot(slot);
    
        try {
          localStorage.removeItem(`${SAVE_KEY_PREFIX}${slot}`);
        } catch (error) {
          console.warn('Could not delete game save:', error);
        }
      }
    
      static listSlots() {
        return Array.from({ length: SLOT_COUNT }, (_, slot) => this.load(slot));
      }
    
      static saveSettings(settings) {
        try {
          localStorage.setItem(
            SETTINGS_KEY,
            JSON.stringify({ ...DEFAULT_SETTINGS, ...settings }),
          );
          return true;
        } catch (error) {
          console.warn('Could not save settings:', error);
          return false;
        }
      }
    
      static loadSettings() {
        try {
          const raw = localStorage.getItem(SETTINGS_KEY);
          return raw
            ? { ...DEFAULT_SETTINGS, ...JSON.parse(raw) }
            : { ...DEFAULT_SETTINGS };
        } catch (error) {
          return { ...DEFAULT_SETTINGS };
        }
      }
    
      static migrate(payload) {
        if (!payload || typeof payload !== 'object') {
          throw new Error('Invalid save payload');
        }
    
        let migrated = structuredClone(payload);
        const version = Number(migrated.version ?? 1);
    
        if (version === 1) {
          // v1 stored coins as gold and had no player level.
          migrated.state.coins = migrated.state.coins ?? migrated.state.gold ?? 0;
          delete migrated.state.gold;
          migrated.state.level ??= 1;
          migrated.version = 2;
        }
    
        if (migrated.version !== SAVE_VERSION) {
          throw new Error(`Unsupported save version: ${migrated.version}`);
        }
    
        return migrated;
      }
    
      static assertSlot(slot) {
        if (!Number.isInteger(slot) || slot < 0 || slot >= SLOT_COUNT) {
          throw new RangeError(`Slot must be an integer from 0 to ${SLOT_COUNT - 1}`);
        }
      }
    }
    
    // Example usage:
    const gameState = {
      player: { name: 'Ada', level: 4 },
      coins: 125,
      inventory: ['potion'],
    };
    
    SaveSystem.save(0, gameState);
    const loadedState = SaveSystem.load(0);
    console.log(loadedState);
    console.log(SaveSystem.listSlots());
    
    SaveSystem.saveSettings({ difficulty: 'hard' });
    console.log(SaveSystem.loadSettings());
    
    References
    1
    1. Obrelix/THEY-DON-T-WANT-YOU-TO-PLAY-THISjs/saveSystem.js

      Direct JavaScript implementation of a versioned localStorage save system: JSON.stringify/JSON.parse, slot-based save/load/delete, SAVE_VERSION checks, try/catch for quota/restricted environments, and settings persistence—strong match to the requested pattern.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "localStorage game save system versioned schema migration JSON serialize slots try catch quota",
      "language": "javascript",
      "license_mode": "strict"
    }
  112. 112
    +14:33Get ExampleGenerated examplethree.js heightmap terrain mesh from noise island falloff biome color by height and slope3 sources30 sCompleted⌄

    three.js heightmap terrain mesh from noise island falloff biome color by height and slope · javascript · strict

    Started
    Aug 7, 2026, 1:28:28 PM UTC
    Ended
    Aug 7, 2026, 1:28:58 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Procedural Island Terrain with Biome and Slope Colors

    import * as THREE from 'three';
    
    // Import Three.js from your project dependency, for example: npm install three
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9bc7e8);
    scene.fog = new THREE.Fog(0x9bc7e8, 180, 420);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 600);
    camera.position.set(105, 110, 145);
    camera.lookAt(0, 12, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.shadowMap.enabled = true;
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xbfe3ff, 0x45613d, 2.0));
    
    const sun = new THREE.DirectionalLight(0xffffff, 3.2);
    sun.position.set(-80, 150, 70);
    sun.castShadow = true;
    sun.shadow.mapSize.set(2048, 2048);
    scene.add(sun);
    
    // Deterministic value noise and fractal Brownian motion.
    function hash2(x, z, seed = 1337) {
      const n = Math.sin(x * 127.1 + z * 311.7 + seed * 74.7) * 43758.5453;
      return n - Math.floor(n);
    }
    
    function smooth(t) {
      return t * t * (3 - 2 * t);
    }
    
    function valueNoise(x, z, seed) {
      const x0 = Math.floor(x);
      const z0 = Math.floor(z);
      const tx = smooth(x - x0);
      const tz = smooth(z - z0);
    
      const a = hash2(x0, z0, seed);
      const b = hash2(x0 + 1, z0, seed);
      const c = hash2(x0, z0 + 1, seed);
      const d = hash2(x0 + 1, z0 + 1, seed);
    
      return THREE.MathUtils.lerp(
        THREE.MathUtils.lerp(a, b, tx),
        THREE.MathUtils.lerp(c, d, tx),
        tz
      );
    }
    
    function fbm(x, z, octaves = 5) {
      let value = 0;
      let amplitude = 0.5;
      let frequency = 1;
      let totalAmplitude = 0;
    
      for (let i = 0; i < octaves; i++) {
        value += valueNoise(x * frequency, z * frequency, 42 + i * 97) * amplitude;
        totalAmplitude += amplitude;
        amplitude *= 0.5;
        frequency *= 2;
      }
    
      return value / totalAmplitude;
    }
    
    const SIZE = 240;
    const RESOLUTION = 180;
    const SEA_LEVEL = 0.18;
    const heights = new Float32Array((RESOLUTION + 1) ** 2);
    
    function gridIndex(x, z) {
      return z * (RESOLUTION + 1) + x;
    }
    
    function islandHeight(x, z) {
      const distance = Math.hypot(x, z) / (SIZE * 0.5);
    
      // Circular island mask: terrain fades smoothly into the ocean.
      const islandMask = 1 - THREE.MathUtils.smoothstep(distance, 0.58, 1.0);
      const broad = fbm(x * 0.009, z * 0.009, 5);
      const detail = fbm(x * 0.035 + 100, z * 0.035 + 100, 4);
      const ridge = 1 - Math.abs(fbm(x * 0.018 - 50, z * 0.018 + 50, 4) * 2 - 1);
    
      let height = 0.05;
      height += broad * 0.42;
      height += detail * 0.06;
      height += Math.pow(ridge, 3) * 0.28;
      height *= islandMask;
    
      // Flatten the shoreline slightly so beaches form around the island.
      return THREE.MathUtils.lerp(SEA_LEVEL - 0.06, height, islandMask);
    }
    
    for (let z = 0; z <= RESOLUTION; z++) {
      for (let x = 0; x <= RESOLUTION; x++) {
        const worldX = (x / RESOLUTION - 0.5) * SIZE;
        const worldZ = (z / RESOLUTION - 0.5) * SIZE;
        heights[gridIndex(x, z)] = islandHeight(worldX, worldZ);
      }
    }
    
    const vertexCount = (RESOLUTION + 1) ** 2;
    const positions = new Float32Array(vertexCount * 3);
    const colors = new Float32Array(vertexCount * 3);
    const indices = [];
    
    const sand = new THREE.Color(0xd9c27a);
    const grass = new THREE.Color(0x4f963f);
    const forest = new THREE.Color(0x286634);
    const rock = new THREE.Color(0x77746b);
    const snow = new THREE.Color(0xf1f4f2);
    const color = new THREE.Color();
    const temporary = new THREE.Color();
    
    for (let z = 0; z <= RESOLUTION; z++) {
      for (let x = 0; x <= RESOLUTION; x++) {
        const i = gridIndex(x, z);
        const px = (x / RESOLUTION - 0.5) * SIZE;
        const pz = (z / RESOLUTION - 0.5) * SIZE;
        const height = heights[i];
    
        positions[i * 3] = px;
        positions[i * 3 + 1] = height * 90;
        positions[i * 3 + 2] = pz;
    
        const left = heights[gridIndex(Math.max(0, x - 1), z)];
        const right = heights[gridIndex(Math.min(RESOLUTION, x + 1), z)];
        const down = heights[gridIndex(x, Math.max(0, z - 1))];
        const up = heights[gridIndex(x, Math.min(RESOLUTION, z + 1))];
        const cellSize = SIZE / RESOLUTION;
        const slope = Math.hypot((right - left) * 90, (up - down) * 90) / (2 * cellSize);
    
        // Blend base biome colors by elevation.
        if (height < SEA_LEVEL + 0.035) {
          color.copy(sand);
        } else if (height < 0.42) {
          color.copy(grass);
          temporary.copy(sand);
          color.lerp(temporary, 1 - (height - 0.18) / 0.24);
        } else if (height < 0.68) {
          color.copy(forest);
          temporary.copy(grass);
          color.lerp(temporary, 1 - (height - 0.42) / 0.26);
        } else {
          color.copy(rock);
          temporary.copy(snow);
          color.lerp(temporary, THREE.MathUtils.smoothstep(height, 0.78, 0.95));
        }
    
        // Steep faces expose rock, regardless of their base biome.
        if (slope > 0.7) {
          temporary.copy(rock);
          color.lerp(temporary, THREE.MathUtils.clamp((slope - 0.7) / 1.4, 0, 0.9));
        }
    
        colors[i * 3] = color.r;
        colors[i * 3 + 1] = color.g;
        colors[i * 3 + 2] = color.b;
      }
    }
    
    for (let z = 0; z < RESOLUTION; z++) {
      for (let x = 0; x < RESOLUTION; x++) {
        const a = gridIndex(x, z);
        const b = gridIndex(x + 1, z);
        const c = gridIndex(x, z + 1);
        const d = gridIndex(x + 1, z + 1);
        indices.push(a, c, b, b, c, d);
      }
    }
    
    const terrainGeometry = new THREE.BufferGeometry();
    terrainGeometry.setAttribute('position', new THREE.BufferAttribute(positions, 3));
    terrainGeometry.setAttribute('color', new THREE.BufferAttribute(colors, 3));
    terrainGeometry.setIndex(indices);
    terrainGeometry.computeVertexNormals();
    
    const terrain = new THREE.Mesh(
      terrainGeometry,
      new THREE.MeshStandardMaterial({
        vertexColors: true,
        roughness: 0.95,
        metalness: 0
      })
    );
    terrain.castShadow = true;
    terrain.receiveShadow = true;
    scene.add(terrain);
    
    const water = new THREE.Mesh(
      new THREE.PlaneGeometry(SIZE * 1.4, SIZE * 1.4),
      new THREE.MeshPhongMaterial({
        color: 0x287fa0,
        transparent: true,
        opacity: 0.62,
        shininess: 100
      })
    );
    water.rotation.x = -Math.PI / 2;
    water.position.y = SEA_LEVEL * 90;
    water.receiveShadow = true;
    scene.add(water);
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    function animate() {
      requestAnimationFrame(animate);
      renderer.render(scene, camera);
    }
    
    animate();
    
    References
    3
    1. hlsvortex/HLS_WebGPUPluginssrc/systems/TerrainSystem.js

      Strong match: a JavaScript/Three.js terrain system using GPU-driven heightmap data with island/mesh concepts, computes slope-based normals and uses biome data for fragment coloring. While it’s WebGPU+TSL-specific and not a plain CPU heightmap example, it directly covers heightmap/terrain mesh/noise+island/falloff, slope, and biome-driven color.

      codeMIT
    2. ryanmangiapane/whispering-villagesrc/nature/terrain.js

      Direct Three.js JavaScript implementation of procedural heightmap terrain using noise (including erosion/continental/detail), chunked mesh generation, biome-driven coloration, and explicit slope-based rock/snow color blending—matches the query terms (heightmap/mesh/noise/biome/slope/color) closely in one file.

      codeMIT
    3. abhisek2004/62Days-CodeSprint-WebDev-ChallengeProject/HTML,CSS,JS/Client-Side WebGL 3D Terrain & Heightmap Shader Generator/terrain-generator.js

      JavaScript/Three.js terrain generator code with procedural noise (heightmap), falloff/biome-like color interpolation by height, slope-based rock blending, and custom shaders for terrain mesh visualization—matches the requested “noise + island/falloff + biome color by height and slope” pattern.

      codeUnlicense
    Request⌄

    Request payload

    {
      "query": "three.js heightmap terrain mesh from noise island falloff biome color by height and slope",
      "language": "javascript",
      "license_mode": "strict"
    }
  113. 113
    +15:36Get ExampleGenerated exampleseeded PRNG mulberry32 plus 2D simplex noise implementation in plain javascript3 sources23 sCompleted⌄

    seeded PRNG mulberry32 plus 2D simplex noise implementation in plain javascript · javascript · strict

    Started
    Aug 7, 2026, 1:29:31 PM UTC
    Ended
    Aug 7, 2026, 1:29:54 PM UTC
    Outcome
    Result returned
    Targets
    3

    Seeded Mulberry32 PRNG with 2D Simplex Noise

    'use strict';
    
    /** Deterministic Mulberry32 PRNG. Returns floats in [0, 1). */
    function mulberry32(seed) {
      let state = seed >>> 0;
    
      return function random() {
        state = (state + 0x6d2b79f5) | 0;
        let t = Math.imul(state ^ (state >>> 15), state | 1);
        t = (t + Math.imul(t ^ (t >>> 7), t | 61)) ^ t;
        return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
      };
    }
    
    const F2 = 0.5 * (Math.sqrt(3) - 1);
    const G2 = (3 - Math.sqrt(3)) / 6;
    
    // Twelve evenly distributed 2D gradient directions.
    const GRADIENTS = [
      [1, 1], [-1, 1], [1, -1], [-1, -1],
      [1, 0], [-1, 0], [0, 1], [0, -1],
      [1, 1], [-1, 1], [1, -1], [-1, -1],
    ];
    
    class SimplexNoise2D {
      constructor(seed = 0) {
        const random = mulberry32(seed);
        const permutation = new Uint8Array(256);
    
        for (let i = 0; i < permutation.length; i++) {
          permutation[i] = i;
        }
    
        // Seeded Fisher-Yates shuffle.
        for (let i = 255; i > 0; i--) {
          const j = Math.floor(random() * (i + 1));
          [permutation[i], permutation[j]] = [permutation[j], permutation[i]];
        }
    
        this.perm = new Uint8Array(512);
        this.permMod12 = new Uint8Array(512);
    
        for (let i = 0; i < 512; i++) {
          this.perm[i] = permutation[i & 255];
          this.permMod12[i] = this.perm[i] % 12;
        }
      }
    
      /** Returns coherent noise approximately in [-1, 1]. */
      noise(x, y) {
        const { perm, permMod12 } = this;
    
        const skew = (x + y) * F2;
        const i = Math.floor(x + skew);
        const j = Math.floor(y + skew);
    
        const unskew = (i + j) * G2;
        const x0 = x - (i - unskew);
        const y0 = y - (j - unskew);
    
        const i1 = x0 > y0 ? 1 : 0;
        const j1 = x0 > y0 ? 0 : 1;
    
        const x1 = x0 - i1 + G2;
        const y1 = y0 - j1 + G2;
        const x2 = x0 - 1 + 2 * G2;
        const y2 = y0 - 1 + 2 * G2;
    
        const ii = i & 255;
        const jj = j & 255;
    
        let contribution0 = 0;
        let contribution1 = 0;
        let contribution2 = 0;
    
        let t = 0.5 - x0 * x0 - y0 * y0;
        if (t > 0) {
          const gradient = GRADIENTS[permMod12[ii + perm[jj]]];
          t *= t;
          contribution0 = t * t * (gradient[0] * x0 + gradient[1] * y0);
        }
    
        t = 0.5 - x1 * x1 - y1 * y1;
        if (t > 0) {
          const gradient = GRADIENTS[
            permMod12[ii + i1 + perm[jj + j1]]
          ];
          t *= t;
          contribution1 = t * t * (gradient[0] * x1 + gradient[1] * y1);
        }
    
        t = 0.5 - x2 * x2 - y2 * y2;
        if (t > 0) {
          const gradient = GRADIENTS[
            permMod12[ii + 1 + perm[jj + 1]]
          ];
          t *= t;
          contribution2 = t * t * (gradient[0] * x2 + gradient[1] * y2);
        }
    
        return 70 * (contribution0 + contribution1 + contribution2);
      }
    
      /** Fractal Brownian motion using multiple noise octaves. */
      fbm(x, y, octaves = 4, lacunarity = 2, gain = 0.5) {
        let amplitude = 1;
        let frequency = 1;
        let sum = 0;
        let normalization = 0;
    
        for (let octave = 0; octave < octaves; octave++) {
          sum += amplitude * this.noise(x * frequency, y * frequency);
          normalization += amplitude;
          amplitude *= gain;
          frequency *= lacunarity;
        }
    
        return sum / normalization;
      }
    }
    
    // Example: identical seeds produce identical noise values.
    const noiseA = new SimplexNoise2D(12345);
    const noiseB = new SimplexNoise2D(12345);
    
    const x = 2.5;
    const y = -1.25;
    
    console.log(noiseA.noise(x, y));
    console.log(noiseB.noise(x, y)); // Same value as the previous line.
    console.log(noiseA.fbm(x, y, 5));
    
    References
    3
    1. kaolti/monolith-terrainsrc/noise.js

      Contains both seeded PRNG mulberry32 and a seeded Simplex 2D implementation plus fbm/ridged helpers in plain JavaScript, matching the query closely.

      codeMIT
    2. souramoo/partysrc/client3d/noise.js

      Implements mulberry32 seeding and a seeded SimplexNoise class with a 2D simplex noise method (and fbm helpers); 3D support and extra hashing are fine extras.

      codeMIT
    3. YadavAkhileshh/OpenPlaygroundprojects/lindenarboretum/js/math/noise.js

      JavaScript implementation that includes a seeded Mulberry32 PRNG plus coherent 3D noise with explicit 2D/1D wrappers (noise2D/ noise1D), which is directly usable to build a 2D simplex/value-noise style sampler; the snippet explicitly matches mulberry32 and 2D noise requirements though the core noise is Perlin-like value/gradient noise rather than simplex.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "seeded PRNG mulberry32 plus 2D simplex noise implementation in plain javascript",
      "language": "javascript",
      "license_mode": "strict"
    }
  114. 114
    +15:39Code GrepCode navigationthree“addUpdateRange”512 msCompleted⌄

    addUpdateRange

    Started
    Aug 7, 2026, 1:29:33 PM UTC
    Ended
    Aug 7, 2026, 1:29:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferAttribute.js",
        "src/core/BufferAttribute.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 119,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L111-L119",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 111
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 185,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L177-L185",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 177
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/core/BufferAttribute.js"
        }
      ],
      "pattern": "addUpdateRange",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferAttribute.js",
          "src/core/BufferAttribute.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 119,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L111-L119",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 111
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 185,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L177-L185",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 177
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  115. 115
    +15:42Code GrepCode navigationthree“instanceCount”1.6 sCompleted⌄

    instanceCount

    Started
    Aug 7, 2026, 1:29:37 PM UTC
    Ended
    Aug 7, 2026, 1:29:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/InstancedBufferGeometry.js",
        "src/core/InstancedBufferGeometry.js",
        "src/core/InstancedBufferGeometry.js",
        "src/core/InstancedBufferGeometry.js",
        "src/core/InstancedBufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 35,
          "file_path": "src/core/InstancedBufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L29-L35",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 29
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 43,
          "file_path": "src/core/InstancedBufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L37-L43",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 43,
          "file_path": "src/core/InstancedBufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L37-L43",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 53,
          "file_path": "src/core/InstancedBufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L47-L53",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 47
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 53,
          "file_path": "src/core/InstancedBufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L47-L53",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 47
        }
      ],
      "returned_matches": 5,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/core/InstancedBufferGeometry.js"
        }
      ],
      "pattern": "instanceCount",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/InstancedBufferGeometry.js",
          "src/core/InstancedBufferGeometry.js",
          "src/core/InstancedBufferGeometry.js",
          "src/core/InstancedBufferGeometry.js",
          "src/core/InstancedBufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 35,
            "file_path": "src/core/InstancedBufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L29-L35",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 29
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 43,
            "file_path": "src/core/InstancedBufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L37-L43",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 43,
            "file_path": "src/core/InstancedBufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L37-L43",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 53,
            "file_path": "src/core/InstancedBufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L47-L53",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 47
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 53,
            "file_path": "src/core/InstancedBufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InstancedBufferGeometry.js#L47-L53",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 47
          }
        ],
        "returned_matches": 5,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  116. 116
    +15:52Code GrepCode navigationthree“clearUpdateRanges”1.2 sCompleted⌄

    clearUpdateRanges

    Started
    Aug 7, 2026, 1:29:47 PM UTC
    Ended
    Aug 7, 2026, 1:29:48 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferAttribute.js",
        "src/core/InterleavedBuffer.js",
        "src/nodes/accessors/BufferNode.js",
        "src/nodes/accessors/Instance.js",
        "src/nodes/accessors/Instance.js",
        "src/renderers/common/Bindings.js",
        "src/renderers/common/Buffer.js",
        "src/renderers/common/UniformsGroup.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 193,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L187-L193",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 187
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 139,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L133-L139",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 133
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 87,
          "file_path": "src/nodes/accessors/BufferNode.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/nodes/accessors/BufferNode.js#L81-L87",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 81
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 185,
          "file_path": "src/nodes/accessors/Instance.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/nodes/accessors/Instance.js#L179-L185",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 179
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 198,
          "file_path": "src/nodes/accessors/Instance.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/nodes/accessors/Instance.js#L192-L198",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 192
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 450,
          "file_path": "src/renderers/common/Bindings.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/Bindings.js#L444-L450",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 444
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 86,
          "file_path": "src/renderers/common/Buffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/Buffer.js#L80-L86",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 80
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 63,
          "file_path": "src/renderers/common/UniformsGroup.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/UniformsGroup.js#L57-L63",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 57
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 7
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src"
        }
      ],
      "pattern": "clearUpdateRanges",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferAttribute.js",
          "src/core/InterleavedBuffer.js",
          "src/nodes/accessors/BufferNode.js",
          "src/nodes/accessors/Instance.js",
          "src/nodes/accessors/Instance.js",
          "src/renderers/common/Bindings.js",
          "src/renderers/common/Buffer.js",
          "src/renderers/common/UniformsGroup.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 193,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L187-L193",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 187
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 139,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L133-L139",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 133
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 87,
            "file_path": "src/nodes/accessors/BufferNode.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/nodes/accessors/BufferNode.js#L81-L87",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 81
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 185,
            "file_path": "src/nodes/accessors/Instance.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/nodes/accessors/Instance.js#L179-L185",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 179
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 198,
            "file_path": "src/nodes/accessors/Instance.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/nodes/accessors/Instance.js#L192-L198",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 192
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 450,
            "file_path": "src/renderers/common/Bindings.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/Bindings.js#L444-L450",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 444
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 86,
            "file_path": "src/renderers/common/Buffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/Buffer.js#L80-L86",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 80
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 63,
            "file_path": "src/renderers/common/UniformsGroup.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/UniformsGroup.js#L57-L63",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 57
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 7
      },
      "title": null,
      "content": null
    }
  117. 117
    +16:06Code GrepCode navigationthree“updateRanges”719 msCompleted⌄

    updateRanges

    Started
    Aug 7, 2026, 1:30:00 PM UTC
    Ended
    Aug 7, 2026, 1:30:01 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 89,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L77-L89",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 77
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 89,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L77-L89",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 77
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 93,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L81-L93",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 81
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 109,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L97-L109",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 97
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 112,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L100-L112",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 100
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 118,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L106-L118",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 106
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L108-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 108
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 121,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L109-L121",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 109
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/webgl/WebGLAttributes.js"
        }
      ],
      "pattern": "updateRanges",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 89,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L77-L89",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 77
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 89,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L77-L89",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 77
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 93,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L81-L93",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 81
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 109,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L97-L109",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 97
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 112,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L100-L112",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 100
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 118,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L106-L118",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 106
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L108-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 108
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 121,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L109-L121",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 109
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  118. 118
    +16:07Code GrepCode navigationsimplex-noise“createNoise2D”932 msCompleted⌄

    createNoise2D

    Started
    Aug 7, 2026, 1:30:02 PM UTC
    Ended
    Aug 7, 2026, 1:30:03 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:simplex-noise@4.0.3

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "README.md",
        "simplex-noise.ts"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 40,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L24-L40",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 24
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 47,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L31-L47",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 31
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 54,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L38-L54",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 38
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 88,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L72-L88",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 72
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 116,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L100-L116",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 100
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 117,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L101-L117",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 101
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 129,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L113-L129",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 113
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 131,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L115-L131",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 115
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 139,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L123-L139",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 123
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 146,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L130-L146",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 130
        },
        {
          "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
          "end_line": 119,
          "file_path": "simplex-noise.ts",
          "kind": "code",
          "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/simplex-noise.ts#L103-L119",
          "repo_url": "https://github.com/jwagner/simplex-noise.js",
          "start_line": 103
        }
      ],
      "returned_matches": 11,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 11,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "simplex-noise",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "simplex-noise.ts"
        },
        {
          "kind": "GLOB",
          "value": "README.md"
        }
      ],
      "pattern": "createNoise2D",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "4.0.3",
      "wait_timeout_ms": 60000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "README.md",
          "simplex-noise.ts"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 40,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L24-L40",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 24
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 47,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L31-L47",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 31
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 54,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L38-L54",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 38
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 88,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L72-L88",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 72
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 116,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L100-L116",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 100
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 117,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L101-L117",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 101
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 129,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L113-L129",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 113
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 131,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L115-L131",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 115
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 139,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L123-L139",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 123
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 146,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/README.md#L130-L146",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 130
          },
          {
            "commit_sha": "6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e",
            "end_line": 119,
            "file_path": "simplex-noise.ts",
            "kind": "code",
            "permalink": "https://github.com/jwagner/simplex-noise.js/blob/6bfff874f5f0efed6375a9bf27fbd39b3cec6b4e/simplex-noise.ts#L103-L119",
            "repo_url": "https://github.com/jwagner/simplex-noise.js",
            "start_line": 103
          }
        ],
        "returned_matches": 11,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 11,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  119. 119
    +16:14Code GrepCode navigationthree“constructor( points, segments”792 msNo result⌄

    constructor( points, segments

    Started
    Aug 7, 2026, 1:30:09 PM UTC
    Ended
    Aug 7, 2026, 1:30:09 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/geometries/LatheGeometry.js"
        }
      ],
      "pattern": "constructor( points, segments",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  120. 120
    +16:18Code GrepCode navigationthree“constructor(”582 msCompleted⌄

    constructor(

    Started
    Aug 7, 2026, 1:30:13 PM UTC
    Ended
    Aug 7, 2026, 1:30:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/geometries/LatheGeometry.js",
        "src/geometries/TubeGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 46,
          "file_path": "src/geometries/LatheGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L26-L46",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 26
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 55,
          "file_path": "src/geometries/TubeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TubeGeometry.js#L35-L55",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 35
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/geometries/LatheGeometry.js"
        },
        {
          "kind": "GLOB",
          "value": "src/geometries/TubeGeometry.js"
        }
      ],
      "pattern": "constructor(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/geometries/LatheGeometry.js",
          "src/geometries/TubeGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 46,
            "file_path": "src/geometries/LatheGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L26-L46",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 26
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 55,
            "file_path": "src/geometries/TubeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TubeGeometry.js#L35-L55",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 35
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  121. 121
    +16:25Code GrepCode navigationthree“setNodeSource”183 msCompleted⌄

    setNodeSource

    Started
    Aug 7, 2026, 1:30:19 PM UTC
    Ended
    Aug 7, 2026, 1:30:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/audio/Audio.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 248,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L228-L248",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 228
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/audio/Audio.js"
        }
      ],
      "pattern": "setNodeSource",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/audio/Audio.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 248,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L228-L248",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 228
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  122. 122
    +16:27Code GrepCode navigationthree“#version 300 es”272 msCompleted⌄

    #version 300 es

    Started
    Aug 7, 2026, 1:30:22 PM UTC
    Ended
    Aug 7, 2026, 1:30:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 811,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L799-L811",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 799
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "#version 300 es",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 811,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L799-L811",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 799
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  123. 123
    +19:20Code ReadCode navigationthree10 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:15 PM UTC
    Ended
    Aug 7, 2026, 1:33:25 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 87,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 87,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 87,
          "file_path": "src/textures/DataTexture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/DataTexture.js#L1-L87",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 87
    }
    Request⌄

    Request payload

    {
      "end_line": 90,
      "file_path": "src/textures/DataTexture.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 87,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 87,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 87,
            "file_path": "src/textures/DataTexture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/DataTexture.js#L1-L87",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 87
      },
      "title": null,
      "content": null
    }
  124. 124
    +19:26Code ReadCode navigationthree3.7 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:20 PM UTC
    Ended
    Aug 7, 2026, 1:33:24 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 60,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 60,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60,
          "file_path": "src/math/ColorManagement.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/ColorManagement.js#L1-L60",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 215
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "src/math/ColorManagement.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 60,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 60,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60,
            "file_path": "src/math/ColorManagement.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/ColorManagement.js#L1-L60",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 215
      },
      "title": null,
      "content": null
    }
  125. 125
    +19:33Code ReadCode navigationthree2.0 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:27 PM UTC
    Ended
    Aug 7, 2026, 1:33:29 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 11,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 11,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 11,
          "file_path": "src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js#L1-L11",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 11
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 11,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 11,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 11,
            "file_path": "src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js#L1-L11",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 11
      },
      "title": null,
      "content": null
    }
  126. 126
    +19:36Code ReadCode navigationthree1.3 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:30 PM UTC
    Ended
    Aug 7, 2026, 1:33:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 19,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 19,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 19,
          "file_path": "src/renderers/shaders/ShaderChunk/project_vertex.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js#L1-L19",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 19
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/renderers/shaders/ShaderChunk/project_vertex.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 19,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 19,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 19,
            "file_path": "src/renderers/shaders/ShaderChunk/project_vertex.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js#L1-L19",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 19
      },
      "title": null,
      "content": null
    }
  127. 127
    +19:36Code GrepCode navigationthree“RedFormat|NoColorSpace|SRGBColorSpace |ClampToEdgeWrapping|UnsignedByteType|RGBAFormat”2.9 sCompleted⌄

    RedFormat|NoColorSpace|SRGBColorSpace |ClampToEdgeWrapping|UnsignedByteType|RGBAFormat

    Started
    Aug 7, 2026, 1:33:31 PM UTC
    Ended
    Aug 7, 2026, 1:33:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/constants.js",
        "src/constants.js",
        "src/constants.js",
        "src/constants.js",
        "src/constants.js",
        "src/constants.js",
        "src/constants.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 563,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L563-L563",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 563
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 642,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L642-L642",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 642
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 762,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L762-L762",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 762
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 787,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L787-L787",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 787
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1300,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L1300-L1300",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1300
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1308,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L1308-L1308",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1308
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1316,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L1316-L1316",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1316
        }
      ],
      "returned_matches": 7,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 0,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/constants.js"
        }
      ],
      "pattern": "RedFormat|NoColorSpace|SRGBColorSpace |ClampToEdgeWrapping|UnsignedByteType|RGBAFormat",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/constants.js",
          "src/constants.js",
          "src/constants.js",
          "src/constants.js",
          "src/constants.js",
          "src/constants.js",
          "src/constants.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 563,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L563-L563",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 563
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 642,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L642-L642",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 642
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 762,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L762-L762",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 762
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 787,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L787-L787",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 787
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1300,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L1300-L1300",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1300
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1308,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L1308-L1308",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1308
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1316,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L1316-L1316",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1316
          }
        ],
        "returned_matches": 7,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  128. 128
    +19:39Code ReadCode navigationthree2.2 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:34 PM UTC
    Ended
    Aug 7, 2026, 1:33:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 19,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 19,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 19,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js#L1-L19",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 19
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 19,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 19,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 19,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js#L1-L19",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 19
      },
      "title": null,
      "content": null
    }
  129. 129
    +19:40Code ReadCode navigationthree2.2 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:34 PM UTC
    Ended
    Aug 7, 2026, 1:33:37 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 45,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 45,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 45,
          "file_path": "src/textures/CanvasTexture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/CanvasTexture.js#L1-L45",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 45
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "src/textures/CanvasTexture.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 45,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 45,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 45,
            "file_path": "src/textures/CanvasTexture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/CanvasTexture.js#L1-L45",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 45
      },
      "title": null,
      "content": null
    }
  130. 130
    +19:42Code ReadCode navigationthree1.3 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:37 PM UTC
    Ended
    Aug 7, 2026, 1:33:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 224,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 50,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 224,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L175-L224",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 175
        }
      ],
      "start_line": 175,
      "status": "success",
      "total_lines": 224
    }
    Request⌄

    Request payload

    {
      "end_line": 230,
      "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 175,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 224,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 50,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 224,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L175-L224",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 175
          }
        ],
        "start_line": 175,
        "status": "success",
        "total_lines": 224
      },
      "title": null,
      "content": null
    }
  131. 131
    +19:49Code FilesCode navigationthreeexamples/jsm/postprocessing/1.8 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:43 PM UTC
    Ended
    Aug 7, 2026, 1:33:45 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "code_index_state": "current",
      "files": [
        "examples/jsm/postprocessing/AfterimagePass.js",
        "examples/jsm/postprocessing/BloomPass.js",
        "examples/jsm/postprocessing/BokehPass.js",
        "examples/jsm/postprocessing/ClearPass.js",
        "examples/jsm/postprocessing/CubeTexturePass.js",
        "examples/jsm/postprocessing/DotScreenPass.js",
        "examples/jsm/postprocessing/EffectComposer.js",
        "examples/jsm/postprocessing/FXAAPass.js",
        "examples/jsm/postprocessing/FilmPass.js",
        "examples/jsm/postprocessing/GTAOPass.js",
        "examples/jsm/postprocessing/GlitchPass.js",
        "examples/jsm/postprocessing/HalftonePass.js",
        "examples/jsm/postprocessing/LUTPass.js",
        "examples/jsm/postprocessing/MaskPass.js",
        "examples/jsm/postprocessing/OutlinePass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/Pass.js",
        "examples/jsm/postprocessing/RenderPass.js",
        "examples/jsm/postprocessing/RenderPixelatedPass.js",
        "examples/jsm/postprocessing/RenderTransitionPass.js"
      ],
      "has_more": false,
      "indexing_status": "indexed",
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/BloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/BokehPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BokehPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/ClearPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ClearPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/CubeTexturePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/CubeTexturePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/DotScreenPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/DotScreenPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/FXAAPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/FilmPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FilmPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/GTAOPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GTAOPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/GlitchPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GlitchPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/HalftonePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/HalftonePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/LUTPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/LUTPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/MaskPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/MaskPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/OutlinePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutlinePass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/Pass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/Pass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/RenderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/RenderPixelatedPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPixelatedPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "file_path": "examples/jsm/postprocessing/RenderTransitionPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderTransitionPass.js",
          "repo_url": "https://github.com/mrdoob/three.js"
        }
      ],
      "result_pointers_truncated": true,
      "returned": 30,
      "status": "success",
      "total": 30
    }
    Request⌄

    Request payload

    {
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "include_hidden": false,
      "limit": 200,
      "offset": 0,
      "package_name": "three",
      "path_prefix": "examples/jsm/postprocessing/",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    ResponseTruncated⌄

    Response payload

    {
      "summary": {
        "code_index_state": "current",
        "files": [
          "examples/jsm/postprocessing/AfterimagePass.js",
          "examples/jsm/postprocessing/BloomPass.js",
          "examples/jsm/postprocessing/BokehPass.js",
          "examples/jsm/postprocessing/ClearPass.js",
          "examples/jsm/postprocessing/CubeTexturePass.js",
          "examples/jsm/postprocessing/DotScreenPass.js",
          "examples/jsm/postprocessing/EffectComposer.js",
          "examples/jsm/postprocessing/FXAAPass.js",
          "examples/jsm/postprocessing/FilmPass.js",
          "examples/jsm/postprocessing/GTAOPass.js",
          "examples/jsm/postprocessing/GlitchPass.js",
          "examples/jsm/postprocessing/HalftonePass.js",
          "examples/jsm/postprocessing/LUTPass.js",
          "examples/jsm/postprocessing/MaskPass.js",
          "examples/jsm/postprocessing/OutlinePass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/Pass.js",
          "examples/jsm/postprocessing/RenderPass.js",
          "examples/jsm/postprocessing/RenderPixelatedPass.js",
          "examples/jsm/postprocessing/RenderTransitionPass.js"
        ],
        "has_more": false,
        "indexing_status": "indexed",
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/BloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/BokehPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BokehPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/ClearPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ClearPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/CubeTexturePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/CubeTexturePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/DotScreenPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/DotScreenPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/FXAAPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/FilmPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FilmPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/GTAOPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GTAOPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/GlitchPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/GlitchPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/HalftonePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/HalftonePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/LUTPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/LUTPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/MaskPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/MaskPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/OutlinePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutlinePass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/Pass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/Pass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/RenderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/RenderPixelatedPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPixelatedPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "file_path": "examples/jsm/postprocessing/RenderTransitionPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderTransitionPass.js",
            "repo_url": "https://github.com/mrdoob/three.js"
          }
        ],
        "result_pointers_truncated": true,
        "returned": 30,
        "status": "success",
        "total": 30
      },
      "title": null,
      "content": null
    }

    This shared record contains a truncated response.

  132. 132
    +19:49Code GrepCode navigationthree“setHex\(|setRGB\(|getHexString|copyLinearToSRGB|lerpColors|SRGBToLinear”2.1 sCompleted⌄

    setHex\(|setRGB\(|getHexString|copyLinearToSRGB|lerpColors|SRGBToLinear

    Started
    Aug 7, 2026, 1:33:44 PM UTC
    Ended
    Aug 7, 2026, 1:33:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js",
        "src/math/Color.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 8,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L1-L8",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 59,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L47-L59",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 47
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 64,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L52-L64",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 52
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 67,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L55-L67",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 55
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 169,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L157-L169",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 157
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 179,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L167-L179",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 167
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 210,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L198-L210",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 198
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 233,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L221-L233",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 221
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 328,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L316-L328",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 316
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 343,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L331-L343",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 331
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 390,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L378-L390",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 378
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 400,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L388-L400",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 388
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 439,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L427-L439",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 427
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 486,
          "file_path": "src/math/Color.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L474-L486",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 474
        }
      ],
      "returned_matches": 14,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 14,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 14,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Color.js"
        }
      ],
      "pattern": "setHex\\(|setRGB\\(|getHexString|copyLinearToSRGB|lerpColors|SRGBToLinear",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js",
          "src/math/Color.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 8,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L1-L8",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 59,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L47-L59",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 47
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 64,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L52-L64",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 52
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 67,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L55-L67",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 55
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 169,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L157-L169",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 157
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 179,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L167-L179",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 167
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 210,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L198-L210",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 198
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 233,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L221-L233",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 221
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 328,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L316-L328",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 316
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 343,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L331-L343",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 331
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 390,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L378-L390",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 378
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 400,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L388-L400",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 388
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 439,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L427-L439",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 427
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 486,
            "file_path": "src/math/Color.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Color.js#L474-L486",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 474
          }
        ],
        "returned_matches": 14,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 14,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  133. 133
    +19:51Code GrepCode navigationthree“colorSpace = NoColorSpace|this.colorSpace”315 msCompleted⌄

    colorSpace = NoColorSpace|this.colorSpace

    Started
    Aug 7, 2026, 1:33:45 PM UTC
    Ended
    Aug 7, 2026, 1:33:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/textures/Texture.js",
        "src/textures/Texture.js",
        "src/textures/Texture.js",
        "src/textures/Texture.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 51,
          "file_path": "src/textures/Texture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L45-L51",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 45
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 302,
          "file_path": "src/textures/Texture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L296-L302",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 296
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 512,
          "file_path": "src/textures/Texture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L506-L512",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 506
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 618,
          "file_path": "src/textures/Texture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L612-L618",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 612
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/textures/Texture.js"
        }
      ],
      "pattern": "colorSpace = NoColorSpace|this.colorSpace",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/textures/Texture.js",
          "src/textures/Texture.js",
          "src/textures/Texture.js",
          "src/textures/Texture.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 51,
            "file_path": "src/textures/Texture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L45-L51",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 45
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 302,
            "file_path": "src/textures/Texture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L296-L302",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 296
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 512,
            "file_path": "src/textures/Texture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L506-L512",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 506
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 618,
            "file_path": "src/textures/Texture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/Texture.js#L612-L618",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 612
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  134. 134
    +19:51Code ReadCode navigationthree385 msCompleted⌄
    Started
    Aug 7, 2026, 1:33:45 PM UTC
    Ended
    Aug 7, 2026, 1:33:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 130,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 91,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 130,
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L40-L130",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        }
      ],
      "start_line": 40,
      "status": "success",
      "total_lines": 365
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "examples/jsm/postprocessing/EffectComposer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 40,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 130,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 91,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 130,
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L40-L130",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          }
        ],
        "start_line": 40,
        "status": "success",
        "total_lines": 365
      },
      "title": null,
      "content": null
    }
  135. 135
    +19:54Code ReadCode navigationthree961 msCompleted⌄
    Started
    Aug 7, 2026, 1:33:48 PM UTC
    Ended
    Aug 7, 2026, 1:33:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 30,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 30,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 30,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L1-L30",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 213
    }
    Request⌄

    Request payload

    {
      "end_line": 30,
      "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 30,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 30,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 30,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L1-L30",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 213
      },
      "title": null,
      "content": null
    }
  136. 136
    +19:56Code GrepCode navigationthree“vViewPosition”961 msCompleted⌄

    vViewPosition

    Started
    Aug 7, 2026, 1:33:50 PM UTC
    Ended
    Aug 7, 2026, 1:33:51 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
        "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
        "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
        "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
        "src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 16,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L16-L16",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 16
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 18,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L18-L18",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 18
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js#L2-L2",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js#L2-L2",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js#L2-L2",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6,
          "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L6-L6",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L7-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 7
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 30,
          "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L30-L30",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 30
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 59,
          "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L59-L59",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 59
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37,
          "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js#L37-L37",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        }
      ],
      "returned_matches": 10,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 10,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 0,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 40,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders/ShaderChunk/"
        }
      ],
      "pattern": "vViewPosition",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
          "src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 16,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L16-L16",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 16
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 18,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L18-L18",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 18
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js#L2-L2",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js#L2-L2",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js#L2-L2",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6,
            "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L6-L6",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L7-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 7
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 30,
            "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L30-L30",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 30
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 59,
            "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js#L59-L59",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 59
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37,
            "file_path": "src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js#L37-L37",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          }
        ],
        "returned_matches": 10,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 10,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  137. 137
    +19:58Code GrepCode navigationthree“saturate”1.7 sCompleted⌄

    saturate

    Started
    Aug 7, 2026, 1:33:53 PM UTC
    Ended
    Aug 7, 2026, 1:33:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/common.glsl.js",
        "src/renderers/shaders/ShaderChunk/common.glsl.js",
        "src/renderers/shaders/ShaderChunk/common.glsl.js",
        "src/renderers/shaders/ShaderChunk/common.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 9,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L9-L9",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 9
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 10,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L10-L10",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 10
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 11,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L11-L11",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 11
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 13,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L13-L13",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 13
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 0,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderChunk/common.glsl.js"
        }
      ],
      "pattern": "saturate",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "src/renderers/shaders/ShaderChunk/common.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 9,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L9-L9",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 9
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 10,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L10-L10",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 10
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 11,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L11-L11",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 11
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 13,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L13-L13",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 13
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  138. 138
    +20:00Code ReadCode navigationthree2.5 sCompleted⌄
    Started
    Aug 7, 2026, 1:33:54 PM UTC
    Ended
    Aug 7, 2026, 1:33:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 40,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 40,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 40,
          "file_path": "examples/jsm/postprocessing/FXAAPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js#L1-L40",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 40
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "examples/jsm/postprocessing/FXAAPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 40,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 40,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 40,
            "file_path": "examples/jsm/postprocessing/FXAAPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FXAAPass.js#L1-L40",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 40
      },
      "title": null,
      "content": null
    }
  139. 139
    +20:01Code GrepCode navigationthree“customProgramCacheKey”1.6 sCompleted⌄

    customProgramCacheKey

    Started
    Aug 7, 2026, 1:33:55 PM UTC
    Ended
    Aug 7, 2026, 1:33:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/materials/Material.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 549,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L537-L549",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 537
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/materials/Material.js"
        }
      ],
      "pattern": "customProgramCacheKey",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/materials/Material.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 549,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L537-L549",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 537
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  140. 140
    +20:11Code ReadCode navigationthree7.7 sCompleted⌄
    Started
    Aug 7, 2026, 1:34:06 PM UTC
    Ended
    Aug 7, 2026, 1:34:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 130,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 130,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 130,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L1-L130",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 148
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "examples/jsm/postprocessing/OutputPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 130,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 130,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 130,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L1-L130",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 148
      },
      "title": null,
      "content": null
    }
  141. 141
    +20:13Code ReadCode navigationthree1.5 sCompleted⌄
    Started
    Aug 7, 2026, 1:34:08 PM UTC
    Ended
    Aug 7, 2026, 1:34:09 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 175,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 70,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 175,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L106-L175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 106
        }
      ],
      "start_line": 106,
      "status": "success",
      "total_lines": 224
    }
    Request⌄

    Request payload

    {
      "end_line": 175,
      "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 106,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 175,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 70,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 175,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L106-L175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 106
          }
        ],
        "start_line": 106,
        "status": "success",
        "total_lines": 224
      },
      "title": null,
      "content": null
    }
  142. 142
    +20:19Code GrepCode navigationthree“onBeforeCompile”3.4 sCompleted⌄

    onBeforeCompile

    Started
    Aug 7, 2026, 1:34:13 PM UTC
    Ended
    Aug 7, 2026, 1:34:17 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 542,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L522-L542",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 522
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 545,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L525-L545",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 525
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 546,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L526-L546",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 526
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 555,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L535-L555",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 535
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/materials/Material.js"
        }
      ],
      "pattern": "onBeforeCompile",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 542,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L522-L542",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 522
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 545,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L525-L545",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 525
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 546,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L526-L546",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 526
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 555,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L535-L555",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 535
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  143. 143
    +20:20Code ReadCode navigationthree4.3 sCompleted⌄
    Started
    Aug 7, 2026, 1:34:14 PM UTC
    Ended
    Aug 7, 2026, 1:34:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 135,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 111,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 135,
          "file_path": "examples/jsm/postprocessing/ShaderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L25-L135",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 25
        }
      ],
      "start_line": 25,
      "status": "success",
      "total_lines": 135
    }
    Request⌄

    Request payload

    {
      "end_line": 140,
      "file_path": "examples/jsm/postprocessing/ShaderPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 25,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 135,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 111,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 135,
            "file_path": "examples/jsm/postprocessing/ShaderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L25-L135",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 25
          }
        ],
        "start_line": 25,
        "status": "success",
        "total_lines": 135
      },
      "title": null,
      "content": null
    }
  144. 144
    +20:23Code GrepCode navigationthree“diffuseColor”2.6 sCompleted⌄

    diffuseColor

    Started
    Aug 7, 2026, 1:34:18 PM UTC
    Ended
    Aug 7, 2026, 1:34:21 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 10,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L4-L10",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 4
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 608,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L602-L608",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 602
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 613,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L607-L613",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 607
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js"
        }
      ],
      "pattern": "diffuseColor",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 10,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L4-L10",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 4
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 608,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L602-L608",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 602
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 613,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L607-L613",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 607
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  145. 145
    +20:29Code ReadCode navigationthree2.1 sCompleted⌄
    Started
    Aug 7, 2026, 1:34:24 PM UTC
    Ended
    Aug 7, 2026, 1:34:26 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 130,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 95,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 130,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L36-L130",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 36
        }
      ],
      "start_line": 36,
      "status": "success",
      "total_lines": 524
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 36,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 130,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 95,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 130,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L36-L130",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 36
          }
        ],
        "start_line": 36,
        "status": "success",
        "total_lines": 524
      },
      "title": null,
      "content": null
    }
  146. 146
    +20:31Code GrepCode navigationthree“colorSpace”957 msNo result⌄

    colorSpace

    Started
    Aug 7, 2026, 1:34:26 PM UTC
    Ended
    Aug 7, 2026, 1:34:27 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/postprocessing/EffectComposer.js"
        }
      ],
      "pattern": "colorSpace",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  147. 147
    +20:35Code GrepCode navigationthree“workingColorSpace : _this.outputColorSpace”1.9 sNo result⌄

    workingColorSpace : _this.outputColorSpace

    Started
    Aug 7, 2026, 1:34:29 PM UTC
    Ended
    Aug 7, 2026, 1:34:31 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/"
        }
      ],
      "pattern": "workingColorSpace : _this.outputColorSpace",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  148. 148
    +20:37Code GrepCode navigationthree“BRDF_Lambert”1.9 sNo result⌄

    BRDF_Lambert

    Started
    Aug 7, 2026, 1:34:32 PM UTC
    Ended
    Aug 7, 2026, 1:34:34 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderChunk/bsdfs.glsl.js"
        }
      ],
      "pattern": "BRDF_Lambert",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  149. 149
    +20:37Code GrepCode navigationthree“slerpQuaternions”2.6 sCompleted⌄

    slerpQuaternions

    Started
    Aug 7, 2026, 1:34:32 PM UTC
    Ended
    Aug 7, 2026, 1:34:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Quaternion.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 787,
          "file_path": "src/math/Quaternion.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L775-L787",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 775
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/math"
        }
      ],
      "pattern": "slerpQuaternions",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Quaternion.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 787,
            "file_path": "src/math/Quaternion.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L775-L787",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 775
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  150. 150
    +20:39Code ReadCode navigationthree235 msCompleted⌄
    Started
    Aug 7, 2026, 1:34:33 PM UTC
    Ended
    Aug 7, 2026, 1:34:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 80,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 56,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 80,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L25-L80",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 25
        }
      ],
      "start_line": 25,
      "status": "success",
      "total_lines": 405
    }
    Request⌄

    Request payload

    {
      "end_line": 80,
      "file_path": "src/core/RenderTarget.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 25,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 80,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 56,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 80,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L25-L80",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 25
          }
        ],
        "start_line": 25,
        "status": "success",
        "total_lines": 405
      },
      "title": null,
      "content": null
    }
  151. 151
    +20:41Code GrepCode navigationthree“depthTexture”1.2 sCompleted⌄

    depthTexture

    Started
    Aug 7, 2026, 1:34:35 PM UTC
    Ended
    Aug 7, 2026, 1:34:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 39,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L31-L39",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 31
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 44,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L36-L44",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 36
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L58-L66",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 58
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 71,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L63-L71",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 63
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 187,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L179-L187",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 179
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 188,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L180-L188",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 180
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 188,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L180-L188",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 180
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 216,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L208-L216",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 208
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 216,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L208-L216",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 208
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 269,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L261-L269",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 261
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 271,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L263-L271",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 263
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 271,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L263-L271",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 263
        }
      ],
      "returned_matches": 12,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 12,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/RenderTarget.js"
        }
      ],
      "pattern": "depthTexture",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 39,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L31-L39",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 31
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 44,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L36-L44",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 36
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L58-L66",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 58
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 71,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L63-L71",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 63
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 187,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L179-L187",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 179
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 188,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L180-L188",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 180
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 188,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L180-L188",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 180
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 216,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L208-L216",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 208
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 216,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L208-L216",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 208
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 269,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L261-L269",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 261
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 271,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L263-L271",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 263
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 271,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L263-L271",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 263
          }
        ],
        "returned_matches": 12,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 12,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  152. 152
    +20:42Code ReadCode navigationthree723 msCompleted⌄
    Started
    Aug 7, 2026, 1:34:37 PM UTC
    Ended
    Aug 7, 2026, 1:34:37 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 104,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 104,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 104,
          "file_path": "src/textures/DepthTexture.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/DepthTexture.js#L1-L104",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 104
    }
    Request⌄

    Request payload

    {
      "end_line": 120,
      "file_path": "src/textures/DepthTexture.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 104,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 104,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 104,
            "file_path": "src/textures/DepthTexture.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/textures/DepthTexture.js#L1-L104",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 104
      },
      "title": null,
      "content": null
    }
  153. 153
    +20:45Code GrepCode navigationthree“_onChangeCallback”85 msNo result⌄

    _onChangeCallback

    Started
    Aug 7, 2026, 1:34:39 PM UTC
    Ended
    Aug 7, 2026, 1:34:39 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "_onChangeCallback",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  154. 154
    +20:47Code ReadCode navigationthree4.8 sCompleted⌄
    Started
    Aug 7, 2026, 1:34:41 PM UTC
    Ended
    Aug 7, 2026, 1:34:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 120,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 120,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "src/geometries/LatheGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L1-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 230
    }
    Request⌄

    Request payload

    {
      "end_line": 120,
      "file_path": "src/geometries/LatheGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 120,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 120,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "src/geometries/LatheGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L1-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 230
      },
      "title": null,
      "content": null
    }
  155. 155
    +20:48Code GrepCode navigationthree“setFromEuler”178 msCompleted⌄

    setFromEuler

    Started
    Aug 7, 2026, 1:34:43 PM UTC
    Ended
    Aug 7, 2026, 1:34:43 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Quaternion.js",
        "src/math/Quaternion.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 311,
          "file_path": "src/math/Quaternion.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L291-L311",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 291
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 375,
          "file_path": "src/math/Quaternion.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L355-L375",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 355
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 2,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Quaternion.js"
        }
      ],
      "pattern": "setFromEuler",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Quaternion.js",
          "src/math/Quaternion.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 311,
            "file_path": "src/math/Quaternion.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L291-L311",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 291
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 375,
            "file_path": "src/math/Quaternion.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L355-L375",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 355
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  156. 156
    +20:49Code GrepCode navigationthree“_currentRenderTarget === null”5.7 sCompleted⌄

    _currentRenderTarget === null

    Started
    Aug 7, 2026, 1:34:43 PM UTC
    Ended
    Aug 7, 2026, 1:34:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 362,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L350-L362",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 350
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1637,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1625-L1637",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1625
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2348,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2336-L2348",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2336
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2361,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2349-L2361",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2349
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "_currentRenderTarget === null",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 362,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L350-L362",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 350
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1637,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1625-L1637",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1625
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2348,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2336-L2348",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2336
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2361,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2349-L2361",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2349
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  157. 157
    +20:51Code ReadCode navigationthree61 msCompleted⌄
    Started
    Aug 7, 2026, 1:34:45 PM UTC
    Ended
    Aug 7, 2026, 1:34:45 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 100,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 81,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L20-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 20
        }
      ],
      "start_line": 20,
      "status": "success",
      "total_lines": 405
    }
    Request⌄

    Request payload

    {
      "end_line": 100,
      "file_path": "src/core/RenderTarget.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 20,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 100,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 81,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L20-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 20
          }
        ],
        "start_line": 20,
        "status": "success",
        "total_lines": 405
      },
      "title": null,
      "content": null
    }
  158. 158
    +20:52Code GrepCode navigationthree“vec3 BRDF_Lambert”3.1 sCompleted⌄

    vec3 BRDF_Lambert

    Started
    Aug 7, 2026, 1:34:47 PM UTC
    Ended
    Aug 7, 2026, 1:34:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/common.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 106,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L100-L106",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 100
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders/"
        }
      ],
      "pattern": "vec3 BRDF_Lambert",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/common.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 106,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L100-L106",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 100
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  159. 159
    +20:58Get ExampleGenerated exampleThree.js stylized sky dome ShaderMaterial BackSide gradient with sun disc and FBM value noise scrolling cloud layers1 source24 sCompleted⌄

    Three.js stylized sky dome ShaderMaterial BackSide gradient with sun disc and FBM value noise scrolling cloud layers · javascript · strict

    Started
    Aug 7, 2026, 1:34:52 PM UTC
    Ended
    Aug 7, 2026, 1:35:17 PM UTC
    Outcome
    Result returned
    Targets
    1

    Three.js Stylized Sky Dome with FBM Clouds and Sun Disc

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.1, 2000);
    camera.position.set(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    const skyUniforms = {
      uTime: { value: 0 },
      uSunDirection: { value: new THREE.Vector3(0.35, 0.45, -0.82).normalize() },
      uTopColor: { value: new THREE.Color('#26558a') },
      uHorizonColor: { value: new THREE.Color('#f2a66f') },
      uCloudColor: { value: new THREE.Color('#f3e4d2') },
      uCloudShadow: { value: new THREE.Color('#6e7890') },
      uSunColor: { value: new THREE.Color('#fff2b0') },
    };
    
    const skyMaterial = new THREE.ShaderMaterial({
      side: THREE.BackSide,
      depthWrite: false,
      fog: false,
      uniforms: skyUniforms,
      vertexShader: /* glsl */ `
        varying vec3 vDirection;
    
        void main() {
          vDirection = normalize(position);
          gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
        }
      `,
      fragmentShader: /* glsl */ `
        varying vec3 vDirection;
    
        uniform float uTime;
        uniform vec3 uSunDirection;
        uniform vec3 uTopColor;
        uniform vec3 uHorizonColor;
        uniform vec3 uCloudColor;
        uniform vec3 uCloudShadow;
        uniform vec3 uSunColor;
    
        // 2D value noise with smooth interpolation.
        float hash(vec2 p) {
          p = fract(p * vec2(127.1, 311.7));
          p += dot(p, p + SOME_NON_CONSTANT);
          return fract(p.x * p.y * 43758.5453);
        }
    
        float valueNoise(vec2 p) {
          vec2 cell = floor(p);
          vec2 local = fract(p);
          local = local * local * (3.0 - 2.0 * local);
    
          float a = hash(cell);
          float b = hash(cell + vec2(1.0, 0.0));
          float c = hash(cell + vec2(0.0, 1.0));
          float d = hash(cell + vec2(1.0, 1.0));
    
          return mix(mix(a, b, local.x), mix(c, d, local.x), local.y);
        }
    
        float fbm(vec2 p) {
          float total = 0.0;
          float amplitude = 0.5;
    
          for (int i = 0; i < 5; i++) {
            total += valueNoise(p) * amplitude;
            p = p * 2.03 + vec2(17.1, 9.2);
            amplitude *= 0.5;
          }
    
          return total;
        }
    
        void main() {
          vec3 direction = normalize(vDirection);
          float height = clamp(direction.y * 0.5 + 0.5, 0.0, 1.0);
    
          // Warm the horizon while keeping the zenith cool and saturated.
          vec3 sky = mix(uHorizonColor, uTopColor, smoothstep(0.0, 0.82, height));
          sky = mix(sky, uHorizonColor, pow(1.0 - height, 3.0) * 0.25);
    
          // Project the clouds onto the upper hemisphere. The two layers scroll
          // at different speeds to create broad shapes and smaller detail.
          vec2 cloudUv = direction.xz / max(direction.y + 0.35, 0.35);
          vec2 slowUv = cloudUv * 1.35 + vec2(uTime * 0.008, uTime * 0.003);
          vec2 fastUv = cloudUv * 3.8 + vec2(-uTime * 0.018, uTime * 0.011);
    
          float broad = fbm(slowUv);
          float detail = fbm(fastUv);
          float cloudNoise = broad * 0.78 + detail * 0.22;
          float cloudMask = smoothstep(0.52, 0.70, cloudNoise);
          cloudMask *= smoothstep(0.02, 0.22, direction.y);
          cloudMask *= 1.0 - smoothstep(0.72, 1.0, direction.y) * 0.35;
    
          // Approximate cloud lighting from the sun-facing direction.
          float sunLight = max(dot(direction, uSunDirection), 0.0);
          vec3 cloudLit = mix(uCloudShadow, uCloudColor, 0.35 + sunLight * 0.65);
          sky = mix(sky, cloudLit, cloudMask * 0.82);
    
          // Soft sun disc plus a subtle atmospheric glow.
          float sunAngle = dot(direction, uSunDirection);
          float sunDisc = smoothstep(0.9992, 0.9998, sunAngle);
          float sunGlow = pow(max(sunAngle, 0.0), 48.0) * 0.22;
          sky += uSunColor * (sunDisc * 1.8 + sunGlow);
    
          // Fade the dome toward the horizon for a softer stylized silhouette.
          sky = mix(sky, uHorizonColor, smoothstep(-0.08, 0.04, direction.y) * 0.2);
          gl_FragColor = vec4(sky, 1.0);
        }
      `,
    });
    
    // Replace the symbolic hash constant with a valid GLSL constant while keeping
    // the shader source easy to read above.
    skyMaterial.fragmentShader = skyMaterial.fragmentShader.replace(
      'SOME_NON_CONSTANT',
      '34.345'
    );
    
    const sky = new THREE.Mesh(
      new THREE.SphereGeometry(800, 64, 32),
      skyMaterial
    );
    sky.frustumCulled = false;
    sky.renderOrder = -100;
    scene.add(sky);
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
    
      sky.position.copy(camera.position);
      skyUniforms.uTime.value = clock.getElapsedTime();
    
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    1
    1. jamescockburn47/moorsteadsrc/sky.js

      Strong match: a Three.js sky dome implemented with ShaderMaterial (BackSide) using procedural FBM noise for clouds, gradient sky coloring, and sun/moon disc sprites in JavaScript.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "Three.js stylized sky dome ShaderMaterial BackSide gradient with sun disc and FBM value noise scrolling cloud layers",
      "language": "javascript",
      "license_mode": "strict"
    }
  160. 160
    +20:58Code GrepCode navigationthree“setSize( width, height, depth = 1 )”99 msCompleted⌄

    setSize( width, height, depth = 1 )

    Started
    Aug 7, 2026, 1:34:53 PM UTC
    Ended
    Aug 7, 2026, 1:34:53 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/RenderTarget.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 305,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L285-L305",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 285
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 2,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/RenderTarget.js"
        }
      ],
      "pattern": "setSize( width, height, depth = 1 )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/RenderTarget.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 305,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L285-L305",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 285
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  161. 161
    +20:58Code GrepCode navigationthree“onRotationChange”5.8 sCompleted⌄

    onRotationChange

    Started
    Aug 7, 2026, 1:34:53 PM UTC
    Ended
    Aug 7, 2026, 1:34:59 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js",
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 153,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L137-L153",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 137
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 165,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L149-L165",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 149
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "onRotationChange",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js",
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 153,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L137-L153",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 137
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 165,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L149-L165",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 149
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  162. 162
    +20:59Get ExampleGenerated examplethree.js WebGLRenderTarget with DepthTexture attachment plus MeshNormalMaterial overrideMaterial prepass for screen-space depth-normal edge detection outline post-process4 sources34 sCompleted⌄

    three.js WebGLRenderTarget with DepthTexture attachment plus MeshNormalMaterial overrideMaterial prepass for screen-space depth-normal edge detection outline post-process · javascript · strict

    Started
    Aug 7, 2026, 1:34:54 PM UTC
    Ended
    Aug 7, 2026, 1:35:27 PM UTC
    Outcome
    Result returned
    Targets
    4

    Three.js Depth-Normal Outline Post-Processing Pass

    import * as THREE from "three";
    import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js";
    import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass.js";
    import { Pass, FullScreenQuad } from "three/examples/jsm/postprocessing/Pass.js";
    
    class DepthNormalOutlinePass extends Pass {
      constructor(scene, camera, width, height) {
        super();
        this.scene = scene;
        this.camera = camera;
        this.resolution = new THREE.Vector2(width, height);
        this.normalMaterial = new THREE.MeshNormalMaterial();
    
        // Stores view-space normals rendered with the override material.
        this.normalTarget = new THREE.WebGLRenderTarget(width, height, {
          minFilter: THREE.NearestFilter,
          magFilter: THREE.NearestFilter,
          format: THREE.RGBAFormat,
          type: THREE.HalfFloatType,
          depthBuffer: true,
          stencilBuffer: false,
        });
    
        this.fsQuad = new FullScreenQuad(this.createMaterial());
      }
    
      createMaterial() {
        return new THREE.ShaderMaterial({
          uniforms: {
            sceneTexture: { value: null },
            depthTexture: { value: null },
            normalTexture: { value: null },
            resolution: {
              value: new THREE.Vector2(this.resolution.x, this.resolution.y),
            },
            cameraNear: { value: this.camera.near },
            cameraFar: { value: this.camera.far },
            outlineColor: { value: new THREE.Color(0x111111) },
            depthThreshold: { value: 0.015 },
            normalThreshold: { value: 0.18 },
            thickness: { value: 1.0 },
          },
          vertexShader: /* glsl */ `
            varying vec2 vUv;
    
            void main() {
              vUv = uv;
              gl_Position = vec4(position.xy, 0.0, 1.0);
            }
          `,
          fragmentShader: /* glsl */ `
            #include <packing>
    
            uniform sampler2D sceneTexture;
            uniform sampler2D depthTexture;
            uniform sampler2D normalTexture;
            uniform vec2 resolution;
            uniform float cameraNear;
            uniform float cameraFar;
            uniform vec3 outlineColor;
            uniform float depthThreshold;
            uniform float normalThreshold;
            uniform float thickness;
    
            varying vec2 vUv;
    
            float linearDepth(vec2 uv) {
              float depth = texture2D(depthTexture, uv).x;
              float viewZ = perspectiveDepthToViewZ(depth, cameraNear, cameraFar);
              return -viewZ;
            }
    
            vec3 normalAt(vec2 uv) {
              // MeshNormalMaterial stores normals in the 0..1 range.
              return texture2D(normalTexture, uv).xyz * 2.0 - 1.0;
            }
    
            void main() {
              vec4 sceneColor = texture2D(sceneTexture, vUv);
              vec2 texel = thickness / resolution;
    
              float centerDepth = linearDepth(vUv);
              vec3 centerNormal = normalAt(vUv);
              float depthEdge = 0.0;
              float normalEdge = 0.0;
    
              for (int x = -1; x <= 1; x++) {
                for (int y = -1; y <= 1; y++) {
                  if (x == 0 && y == 0) continue;
    
                  vec2 sampleUv = vUv + vec2(float(x), float(y)) * texel;
                  depthEdge = max(depthEdge,
                    abs(centerDepth - linearDepth(sampleUv)));
                  normalEdge = max(normalEdge,
                    length(centerNormal - normalAt(sampleUv)));
                }
              }
    
              float depthMask = smoothstep(
                depthThreshold,
                depthThreshold * 2.0,
                depthEdge
              );
              float normalMask = smoothstep(
                normalThreshold,
                normalThreshold * 2.0,
                normalEdge
              );
              float outline = max(depthMask, normalMask);
    
              gl_FragColor = vec4(
                mix(sceneColor.rgb, outlineColor, outline),
                sceneColor.a
              );
            }
          `,
        });
      }
    
      setSize(width, height) {
        this.resolution.set(width, height);
        this.normalTarget.setSize(width, height);
        this.fsQuad.material.uniforms.resolution.value.set(width, height);
      }
    
      render(renderer, writeBuffer, readBuffer) {
        const previousOverride = this.scene.overrideMaterial;
    
        // Prepass: render the entire scene into a normal texture.
        renderer.setRenderTarget(this.normalTarget);
        renderer.clear();
        this.scene.overrideMaterial = this.normalMaterial;
        renderer.render(this.scene, this.camera);
        this.scene.overrideMaterial = previousOverride;
    
        const uniforms = this.fsQuad.material.uniforms;
        uniforms.sceneTexture.value = readBuffer.texture;
        uniforms.depthTexture.value = readBuffer.depthTexture;
        uniforms.normalTexture.value = this.normalTarget.texture;
    
        renderer.setRenderTarget(this.renderToScreen ? null : writeBuffer);
        this.fsQuad.render(renderer);
      }
    
      dispose() {
        this.normalTarget.dispose();
        this.normalMaterial.dispose();
        this.fsQuad.dispose();
      }
    }
    
    // Example setup. The RenderPass must render into a target with a depth texture.
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x20242a);
    
    const camera = new THREE.PerspectiveCamera(
      60,
      window.innerWidth / window.innerHeight,
      0.1,
      100
    );
    camera.position.set(3, 2, 5);
    camera.lookAt(0, 0, 0);
    
    scene.add(new THREE.HemisphereLight(0xffffff, 0x444444, 2));
    const mesh = new THREE.Mesh(
      new THREE.TorusKnotGeometry(1, 0.32, 128, 32),
      new THREE.MeshStandardMaterial({ color: 0x4da3ff, roughness: 0.35 })
    );
    scene.add(mesh);
    
    const width = window.innerWidth;
    const height = window.innerHeight;
    const renderTarget = new THREE.WebGLRenderTarget(width, height, {
      minFilter: THREE.LinearFilter,
      magFilter: THREE.LinearFilter,
      format: THREE.RGBAFormat,
      depthBuffer: true,
      stencilBuffer: false,
    });
    renderTarget.depthTexture = new THREE.DepthTexture(width, height);
    renderTarget.depthTexture.format = THREE.DepthFormat;
    renderTarget.depthTexture.type = THREE.UnsignedIntType;
    
    const composer = new EffectComposer(renderer, renderTarget);
    composer.addPass(new RenderPass(scene, camera));
    
    const outlinePass = new DepthNormalOutlinePass(scene, camera, width, height);
    outlinePass.renderToScreen = true;
    outlinePass.fsQuad.material.uniforms.outlineColor.value.set(0x111111);
    composer.addPass(outlinePass);
    
    function animate() {
      requestAnimationFrame(animate);
      mesh.rotation.y += 0.01;
      composer.render();
    }
    animate();
    
    window.addEventListener("resize", () => {
      const w = window.innerWidth;
      const h = window.innerHeight;
      renderer.setSize(w, h);
      camera.aspect = w / h;
      camera.updateProjectionMatrix();
      composer.setSize(w, h);
      outlinePass.setSize(w, h);
    });
    
    References
    4
    1. shanzi/sketch-renderingbundle.js

      Implements a Three.js sketch-style post-process using WebGLRenderTarget textures for depth/normal and an overrideMaterial prepass (MeshDepthMaterial/MeshNormalMaterial), then a screen-space edge/outline shader consuming those textures; some details rely on older three.js APIs but the core depth-normal outline pipeline matches the query.

      codeBSD-2-Clause
    2. OmarShehata/webgl-outlinesvertex-welder/src/CustomOutlinePass.js

      Three.js post-processing outline pass implementation that matches the query’s core pieces: render-to-texture using WebGLRenderTarget, capturing depth from readBuffer.depthTexture, and using an overrideMaterial prepass (surfaceIdOverrideMaterial/normal) for screen-space depth/normal-style edge detection.

      codeMIT
    3. OmarShehata/webgl-outlinesthreejs-outlines-minimal/src/CustomOutlinePass.js

      Three.js outline post-process pass very similar to the query: WebGLRenderTarget texture buffers, depthTexture sampling, and overrideMaterial re-render for surface/normal-style data, though it’s a more minimal variant with less configurability/debugging than Result 3.

      codeMIT
    4. OmarShehata/webgl-outlinesthreejs/src/CustomOutlinePass.js

      Most complete three.js implementation for depth+normal/surfaceId edge detection outlines: WebGLRenderTarget plus sampling readBuffer.depthTexture and a MeshNormalMaterial/overrideMaterial prepass, with additional handling for normals vs surface IDs and debug visualization in the same pass.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js WebGLRenderTarget with DepthTexture attachment plus MeshNormalMaterial overrideMaterial prepass for screen-space depth-normal edge detection outline post-process",
      "language": "javascript",
      "license_mode": "strict"
    }
  163. 163
    +21:01Code GrepCode navigationthree“function mergeGeometries”5.9 sCompleted⌄

    function mergeGeometries

    Started
    Aug 7, 2026, 1:34:56 PM UTC
    Ended
    Aug 7, 2026, 1:35:02 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 143,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L123-L143",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 123
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "function mergeGeometries",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 143,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L123-L143",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 123
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  164. 164
    +21:03Code ReadCode navigationthree233 msCompleted⌄
    Started
    Aug 7, 2026, 1:34:57 PM UTC
    Ended
    Aug 7, 2026, 1:34:58 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 110,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 110,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "src/geometries/ExtrudeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L1-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 910
    }
    Request⌄

    Request payload

    {
      "end_line": 110,
      "file_path": "src/geometries/ExtrudeGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 110,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 110,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "src/geometries/ExtrudeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L1-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 910
      },
      "title": null,
      "content": null
    }
  165. 165
    +21:03Code GrepCode navigationthree-mesh-bvh“closestPointToSegment”6.1 sCompleted⌄

    closestPointToSegment

    Started
    Aug 7, 2026, 1:34:57 PM UTC
    Ended
    Aug 7, 2026, 1:35:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "API.md",
        "API.md",
        "CHANGELOG.md",
        "example/characterMovement.js",
        "example/objectbvh_characterMovement.js",
        "src/index.d.ts",
        "src/math/ExtendedTriangle.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 1017,
          "file_path": "API.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1005-L1017",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 1005
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 1020,
          "file_path": "API.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1008-L1020",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 1008
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 499,
          "file_path": "CHANGELOG.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/CHANGELOG.md#L487-L499",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 487
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 385,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L373-L385",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 373
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 401,
          "file_path": "example/objectbvh_characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L389-L401",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 389
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 434,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L422-L434",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 422
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 153,
          "file_path": "src/math/ExtendedTriangle.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L141-L153",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 141
        }
      ],
      "returned_matches": 7,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 20,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "closestPointToSegment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "API.md",
          "API.md",
          "CHANGELOG.md",
          "example/characterMovement.js",
          "example/objectbvh_characterMovement.js",
          "src/index.d.ts",
          "src/math/ExtendedTriangle.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 1017,
            "file_path": "API.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1005-L1017",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 1005
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 1020,
            "file_path": "API.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1008-L1020",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 1008
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 499,
            "file_path": "CHANGELOG.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/CHANGELOG.md#L487-L499",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 487
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 385,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L373-L385",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 373
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 401,
            "file_path": "example/objectbvh_characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L389-L401",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 389
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 434,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L422-L434",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 422
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 153,
            "file_path": "src/math/ExtendedTriangle.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L141-L153",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 141
          }
        ],
        "returned_matches": 7,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  166. 166
    +21:09Code ReadCode navigationthree-mesh-bvh238 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:03 PM UTC
    Ended
    Aug 7, 2026, 1:35:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "end_line": 460,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 131,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 460,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L330-L460",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 330
        }
      ],
      "start_line": 330,
      "status": "success",
      "total_lines": 479
    }
    Request⌄

    Request payload

    {
      "end_line": 460,
      "file_path": "example/characterMovement.js",
      "package_name": "three-mesh-bvh",
      "registry": "npm",
      "start_line": 330,
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 460,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 131,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 460,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L330-L460",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 330
          }
        ],
        "start_line": 330,
        "status": "success",
        "total_lines": 479
      },
      "title": null,
      "content": null
    }
  167. 167
    +21:10Code ReadCode navigationthree387 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:05 PM UTC
    Ended
    Aug 7, 2026, 1:35:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 41,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 41,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 41,
          "file_path": "src/objects/Bone.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Bone.js#L1-L41",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 41
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/objects/Bone.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 41,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 41,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 41,
            "file_path": "src/objects/Bone.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Bone.js#L1-L41",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 41
      },
      "title": null,
      "content": null
    }
  168. 168
    +21:18Code ReadCode navigationthree-mesh-bvh7.5 sCompleted⌄
    Started
    Aug 7, 2026, 1:35:13 PM UTC
    Ended
    Aug 7, 2026, 1:35:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "end_line": 27,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 27,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 27,
          "file_path": "src/index.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L1-L27",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 27
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/index.js",
      "package_name": "three-mesh-bvh",
      "registry": "npm",
      "start_line": 1,
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 27,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 27,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 27,
            "file_path": "src/index.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.js#L1-L27",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 27
      },
      "title": null,
      "content": null
    }
  169. 169
    +21:18Code GrepCode navigationthree“DEFAULT_ORDER”7.5 sCompleted⌄

    DEFAULT_ORDER

    Started
    Aug 7, 2026, 1:35:13 PM UTC
    Ended
    Aug 7, 2026, 1:35:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Euler.js",
        "src/math/Euler.js",
        "src/math/Euler.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 39,
          "file_path": "src/math/Euler.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Euler.js#L27-L39",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 27
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 41,
          "file_path": "src/math/Euler.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Euler.js#L29-L41",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 29
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 450,
          "file_path": "src/math/Euler.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Euler.js#L441-L450",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 441
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Euler.js"
        }
      ],
      "pattern": "DEFAULT_ORDER",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Euler.js",
          "src/math/Euler.js",
          "src/math/Euler.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 39,
            "file_path": "src/math/Euler.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Euler.js#L27-L39",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 27
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 41,
            "file_path": "src/math/Euler.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Euler.js#L29-L41",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 29
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 450,
            "file_path": "src/math/Euler.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Euler.js#L441-L450",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 441
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  170. 170
    +21:19Code GrepCode navigationthree“updateMatrixWorld( force )”5.2 sCompleted⌄

    updateMatrixWorld( force )

    Started
    Aug 7, 2026, 1:35:13 PM UTC
    Ended
    Aug 7, 2026, 1:35:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js",
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1175,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1155-L1175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1155
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1209,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1189-L1209",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1189
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "updateMatrixWorld( force )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js",
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1175,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1155-L1175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1155
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1209,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1189-L1209",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1189
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  171. 171
    +21:19Code ReadCode navigationthree155 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:14 PM UTC
    Ended
    Aug 7, 2026, 1:35:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 786,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 87,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 786,
          "file_path": "src/math/Quaternion.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L700-L786",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 700
        }
      ],
      "start_line": 700,
      "status": "success",
      "total_lines": 918
    }
    Request⌄

    Request payload

    {
      "end_line": 786,
      "file_path": "src/math/Quaternion.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 700,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 786,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 87,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 786,
            "file_path": "src/math/Quaternion.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L700-L786",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 700
          }
        ],
        "start_line": 700,
        "status": "success",
        "total_lines": 918
      },
      "title": null,
      "content": null
    }
  172. 172
    +21:24Code GrepCode navigationthree-mesh-bvh“export function”645 msCompleted⌄

    export function

    Started
    Aug 7, 2026, 1:35:18 PM UTC
    Ended
    Aug 7, 2026, 1:35:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/utils/ExtensionUtilities.js",
        "src/utils/ExtensionUtilities.js",
        "src/utils/ExtensionUtilities.js",
        "src/utils/ExtensionUtilities.js",
        "src/utils/ExtensionUtilities.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 40,
          "file_path": "src/utils/ExtensionUtilities.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L34-L40",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 34
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 179,
          "file_path": "src/utils/ExtensionUtilities.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L173-L179",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 173
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 197,
          "file_path": "src/utils/ExtensionUtilities.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L191-L197",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 191
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 219,
          "file_path": "src/utils/ExtensionUtilities.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L213-L219",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 213
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 286,
          "file_path": "src/utils/ExtensionUtilities.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L280-L286",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 280
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/utils/ExtensionUtilities.js"
        }
      ],
      "pattern": "export function",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/utils/ExtensionUtilities.js",
          "src/utils/ExtensionUtilities.js",
          "src/utils/ExtensionUtilities.js",
          "src/utils/ExtensionUtilities.js",
          "src/utils/ExtensionUtilities.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 40,
            "file_path": "src/utils/ExtensionUtilities.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L34-L40",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 34
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 179,
            "file_path": "src/utils/ExtensionUtilities.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L173-L179",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 173
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 197,
            "file_path": "src/utils/ExtensionUtilities.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L191-L197",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 191
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 219,
            "file_path": "src/utils/ExtensionUtilities.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L213-L219",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 213
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 286,
            "file_path": "src/utils/ExtensionUtilities.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L280-L286",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 280
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  173. 173
    +21:27Code ReadCode navigationthree307 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:22 PM UTC
    Ended
    Aug 7, 2026, 1:35:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1265,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1265,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1205-L1265",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1205
        }
      ],
      "start_line": 1205,
      "status": "success",
      "total_lines": 1677
    }
    Request⌄

    Request payload

    {
      "end_line": 1265,
      "file_path": "src/core/Object3D.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1205,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1265,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1265,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1205-L1265",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1205
          }
        ],
        "start_line": 1205,
        "status": "success",
        "total_lines": 1677
      },
      "title": null,
      "content": null
    }
  174. 174
    +21:28Code GrepCode navigationthree“setPixelRatio”319 msCompleted⌄

    setPixelRatio

    Started
    Aug 7, 2026, 1:35:22 PM UTC
    Ended
    Aug 7, 2026, 1:35:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/postprocessing/EffectComposer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 352,
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L332-L352",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 332
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/postprocessing/EffectComposer.js"
        }
      ],
      "pattern": "setPixelRatio",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/postprocessing/EffectComposer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 352,
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L332-L352",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 332
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  175. 175
    +21:30Code ReadCode navigationthree798 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:24 PM UTC
    Ended
    Aug 7, 2026, 1:35:25 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 365,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 76,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 365,
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L290-L365",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 290
        }
      ],
      "start_line": 290,
      "status": "success",
      "total_lines": 365
    }
    Request⌄

    Request payload

    {
      "end_line": 365,
      "file_path": "examples/jsm/postprocessing/EffectComposer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 290,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 365,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 76,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 365,
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L290-L365",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 290
          }
        ],
        "start_line": 290,
        "status": "success",
        "total_lines": 365
      },
      "title": null,
      "content": null
    }
  176. 176
    +21:31Code GrepCode navigationthree-mesh-bvh{"errors":[{"code":"GREP_FAILED","message":"Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}2.2 sError⌄

    {"errors":[{"code":"GREP_FAILED","message":"Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}

    raycastFirst

    Started
    Aug 7, 2026, 1:35:25 PM UTC
    Ended
    Aug 7, 2026, 1:35:28 PM UTC
    Targets
    0

    Result summary

    {
      "errors": [
        {
          "code": "GREP_FAILED",
          "message": "Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."
        }
      ],
      "next_cursor_present": false,
      "status": "error"
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/index.d.ts"
        }
      ],
      "pattern": "raycastFirst",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "errors": [
          {
            "code": "GREP_FAILED",
            "message": "Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."
          }
        ],
        "next_cursor_present": false,
        "status": "error"
      },
      "title": null,
      "content": null
    }
  177. 177
    +21:38Code ReadCode navigationthree384 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:32 PM UTC
    Ended
    Aug 7, 2026, 1:35:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 80,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 53,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 80,
          "file_path": "src/geometries/TubeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TubeGeometry.js#L28-L80",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        }
      ],
      "start_line": 28,
      "status": "success",
      "total_lines": 253
    }
    Request⌄

    Request payload

    {
      "end_line": 80,
      "file_path": "src/geometries/TubeGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 28,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 80,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 53,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 80,
            "file_path": "src/geometries/TubeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TubeGeometry.js#L28-L80",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          }
        ],
        "start_line": 28,
        "status": "success",
        "total_lines": 253
      },
      "title": null,
      "content": null
    }
  178. 178
    +21:38Code GrepCode navigationthree-mesh-bvh“shapecast(”4.9 sCompleted⌄

    shapecast(

    Started
    Aug 7, 2026, 1:35:33 PM UTC
    Ended
    Aug 7, 2026, 1:35:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BVH.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 352,
          "file_path": "src/core/BVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/BVH.js#L332-L352",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 332
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/BVH.js"
        }
      ],
      "pattern": "shapecast(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BVH.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 352,
            "file_path": "src/core/BVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/BVH.js#L332-L352",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 332
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  179. 179
    +21:40Code ReadCode navigationthree796 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:34 PM UTC
    Ended
    Aug 7, 2026, 1:35:35 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 90,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 90,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 90,
          "file_path": "src/extras/curves/SplineCurve.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/extras/curves/SplineCurve.js#L1-L90",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 145
    }
    Request⌄

    Request payload

    {
      "end_line": 90,
      "file_path": "src/extras/curves/SplineCurve.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 90,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 90,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 90,
            "file_path": "src/extras/curves/SplineCurve.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/extras/curves/SplineCurve.js#L1-L90",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 145
      },
      "title": null,
      "content": null
    }
  180. 180
    +21:41Code ReadCode navigationthree957 msCompleted⌄
    Started
    Aug 7, 2026, 1:35:35 PM UTC
    Ended
    Aug 7, 2026, 1:35:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 340,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 46,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 340,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L295-L340",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 295
        }
      ],
      "start_line": 295,
      "status": "success",
      "total_lines": 405
    }
    Request⌄

    Request payload

    {
      "end_line": 340,
      "file_path": "src/core/RenderTarget.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 295,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 340,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 46,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 340,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L295-L340",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 295
          }
        ],
        "start_line": 295,
        "status": "success",
        "total_lines": 405
      },
      "title": null,
      "content": null
    }
  181. 181
    +21:44Code ReadCode navigationthree2.0 sCompleted⌄
    Started
    Aug 7, 2026, 1:35:38 PM UTC
    Ended
    Aug 7, 2026, 1:35:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 120,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 93,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "examples/jsm/postprocessing/ShaderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L28-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        }
      ],
      "start_line": 28,
      "status": "success",
      "total_lines": 135
    }
    Request⌄

    Request payload

    {
      "end_line": 120,
      "file_path": "examples/jsm/postprocessing/ShaderPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 28,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 120,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 93,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "examples/jsm/postprocessing/ShaderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L28-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          }
        ],
        "start_line": 28,
        "status": "success",
        "total_lines": 135
      },
      "title": null,
      "content": null
    }
  182. 182
    +21:45Code GrepCode navigationthree-mesh-bvh“intersectsTriangle”544 msCompleted⌄

    intersectsTriangle

    Started
    Aug 7, 2026, 1:35:40 PM UTC
    Ended
    Aug 7, 2026, 1:35:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 44,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L28-L44",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 28
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 53,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L37-L53",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 37
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 628,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L612-L628",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 612
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 628,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L612-L628",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 612
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 639,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L623-L639",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 623
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 666,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L650-L666",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 650
        }
      ],
      "returned_matches": 6,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/MeshBVH.js"
        }
      ],
      "pattern": "intersectsTriangle",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 44,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L28-L44",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 28
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 53,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L37-L53",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 37
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 628,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L612-L628",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 612
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 628,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L612-L628",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 612
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 639,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L623-L639",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 623
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 666,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L650-L666",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 650
          }
        ],
        "returned_matches": 6,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  183. 183
    +21:46Code GrepCode navigationthree-mesh-bvh“raycastFirst”627 msCompleted⌄

    raycastFirst

    Started
    Aug 7, 2026, 1:35:41 PM UTC
    Ended
    Aug 7, 2026, 1:35:41 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 24,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L4-L24",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 4
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 24,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L4-L24",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 4
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 31,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L11-L31",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 11
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 31,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L11-L31",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 11
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/MeshBVH.js"
        }
      ],
      "pattern": "raycastFirst",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 24,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L4-L24",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 4
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 24,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L4-L24",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 4
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 31,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L11-L31",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 11
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 31,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L11-L31",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 11
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  184. 184
    +21:53Code GrepCode navigationthree-mesh-bvh“raycastFirst( ray”1.3 sCompleted⌄

    raycastFirst( ray

    Started
    Aug 7, 2026, 1:35:47 PM UTC
    Ended
    Aug 7, 2026, 1:35:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "README.md",
        "example/sdfGeneration.js",
        "example/voxelize.js",
        "src/core/MeshBVH.js",
        "src/index.d.ts",
        "test/Utils.geometryUtils.test.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 209,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/README.md#L193-L209",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 193
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 285,
          "file_path": "example/sdfGeneration.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/sdfGeneration.js#L269-L285",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 269
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 292,
          "file_path": "example/voxelize.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/voxelize.js#L276-L292",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 276
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 566,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L550-L566",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 550
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 161,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L145-L161",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 145
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 54,
          "file_path": "test/Utils.geometryUtils.test.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/test/Utils.geometryUtils.test.js#L38-L54",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 38
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "raycastFirst( ray",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "README.md",
          "example/sdfGeneration.js",
          "example/voxelize.js",
          "src/core/MeshBVH.js",
          "src/index.d.ts",
          "test/Utils.geometryUtils.test.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 209,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/README.md#L193-L209",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 193
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 285,
            "file_path": "example/sdfGeneration.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/sdfGeneration.js#L269-L285",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 269
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 292,
            "file_path": "example/voxelize.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/voxelize.js#L276-L292",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 276
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 566,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L550-L566",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 550
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 161,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L145-L161",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 145
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 54,
            "file_path": "test/Utils.geometryUtils.test.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/test/Utils.geometryUtils.test.js#L38-L54",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 38
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  185. 185
    +21:59Code GrepCode navigationthree“function setupDepthTexture”3.7 sCompleted⌄

    function setupDepthTexture

    Started
    Aug 7, 2026, 1:35:53 PM UTC
    Ended
    Aug 7, 2026, 1:35:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLTextures.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1765,
          "file_path": "src/renderers/webgl/WebGLTextures.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLTextures.js#L1745-L1765",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1745
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 2,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLTextures.js"
        }
      ],
      "pattern": "function setupDepthTexture",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLTextures.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1765,
            "file_path": "src/renderers/webgl/WebGLTextures.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLTextures.js#L1745-L1765",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1745
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  186. 186
    +22:02Code GrepCode navigationthree{"errors":[{"code":"GREP_FAILED","message":"Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}2.0 sError⌄

    {"errors":[{"code":"GREP_FAILED","message":"Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}

    updateProjectionMatrix()

    Started
    Aug 7, 2026, 1:35:57 PM UTC
    Ended
    Aug 7, 2026, 1:35:59 PM UTC
    Targets
    0

    Result summary

    {
      "errors": [
        {
          "code": "GREP_FAILED",
          "message": "Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."
        }
      ],
      "next_cursor_present": false,
      "status": "error"
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/cameras/PerspectiveCamera.js"
        }
      ],
      "pattern": "updateProjectionMatrix()",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "errors": [
          {
            "code": "GREP_FAILED",
            "message": "Reader memory reservation of 536870912 bytes cannot fit with 1073741824 occupied bytes within the 1073741824-byte budget. Unexpected backend error; retry, and report if it persists."
          }
        ],
        "next_cursor_present": false,
        "status": "error"
      },
      "title": null,
      "content": null
    }
  187. 187
    +22:06Code GrepCode navigationthree“getWorldPosition”3.0 sCompleted⌄

    getWorldPosition

    Started
    Aug 7, 2026, 1:36:01 PM UTC
    Ended
    Aug 7, 2026, 1:36:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1004,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L988-L1004",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 988
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "getWorldPosition",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1004,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L988-L1004",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 988
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  188. 188
    +22:11Code ReadCode navigationthree298 msCompleted⌄
    Started
    Aug 7, 2026, 1:36:05 PM UTC
    Ended
    Aug 7, 2026, 1:36:06 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 300,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 71,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 300,
          "file_path": "src/cameras/PerspectiveCamera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/PerspectiveCamera.js#L230-L300",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 230
        }
      ],
      "start_line": 230,
      "status": "success",
      "total_lines": 407
    }
    Request⌄

    Request payload

    {
      "end_line": 300,
      "file_path": "src/cameras/PerspectiveCamera.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 230,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 300,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 71,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 300,
            "file_path": "src/cameras/PerspectiveCamera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/PerspectiveCamera.js#L230-L300",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 230
          }
        ],
        "start_line": 230,
        "status": "success",
        "total_lines": 407
      },
      "title": null,
      "content": null
    }
  189. 189
    +22:12Get ExampleGenerated examplethree.js third-person follow camera with terrain/wall collision using raycast, spring smoothing, look-ahead and camera occlusion pull-in2 sources47 sCompleted⌄

    three.js third-person follow camera with terrain/wall collision using raycast, spring smoothing, look-ahead and camera occlusion pull-in · javascript · strict

    Started
    Aug 7, 2026, 1:36:07 PM UTC
    Ended
    Aug 7, 2026, 1:36:54 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Third-Person Follow Camera with Raycast Occlusion

    import * as THREE from 'three';
    
    const WORLD_UP = new THREE.Vector3(0, 1, 0);
    
    function damp(current, target, smoothing, delta) {
      const factor = 1 - Math.exp(-smoothing * delta);
      return current + (target - current) * factor;
    }
    
    class SpringVector3 {
      constructor(position = new THREE.Vector3(), frequency = 7, damping = 1) {
        this.position = position.clone();
        this.velocity = new THREE.Vector3();
        this.frequency = frequency;
        this.damping = damping;
      }
    
      update(target, delta) {
        // Semi-implicit spring integration is stable for normal frame times.
        const maxDelta = 1 / 30;
        let remaining = Math.min(delta, maxDelta);
        const step = 1 / 120;
    
        while (remaining > 0) {
          const dt = Math.min(step, remaining);
          const angularFrequency = this.frequency * Math.PI * 2;
          const acceleration = target.clone()
            .sub(this.position)
            .multiplyScalar(angularFrequency * angularFrequency)
            .addScaledVector(
              this.velocity,
              -2 * this.damping * angularFrequency
            );
    
          this.velocity.addScaledVector(acceleration, dt);
          this.position.addScaledVector(this.velocity, dt);
          remaining -= dt;
        }
    
        return this.position;
      }
    }
    
    export class ThirdPersonCamera {
      constructor(camera, options = {}) {
        this.camera = camera;
        this.colliders = options.colliders ?? [];
        this.terrain = options.terrain ?? [];
    
        this.distance = options.distance ?? 6;
        this.height = options.height ?? 2.2;
        this.lookHeight = options.lookHeight ?? 1.35;
        this.lookAhead = options.lookAhead ?? 2.5;
        this.collisionPadding = options.collisionPadding ?? 0.3;
        this.minimumDistance = options.minimumDistance ?? 1.1;
        this.terrainPadding = options.terrainPadding ?? 0.25;
        this.positionSpring = new SpringVector3(undefined, 6, 1);
    
        this.currentLook = new THREE.Vector3();
        this.initialized = false;
        this.raycaster = new THREE.Raycaster();
        this.raycaster.firstHitOnly = true;
    
        this._pivot = new THREE.Vector3();
        this._lookTarget = new THREE.Vector3();
        this._desiredPosition = new THREE.Vector3();
        this._direction = new THREE.Vector3();
        this._right = new THREE.Vector3();
        this._velocity = new THREE.Vector3();
        this._forward = new THREE.Vector3();
        this._hitNormal = new THREE.Vector3();
        this._upRayOrigin = new THREE.Vector3();
      }
    
      update(player, delta) {
        const dt = Math.min(Math.max(delta, 0), 0.1);
    
        player.getWorldPosition(this._pivot);
        this._pivot.y += this.lookHeight;
    
        // Prefer actual movement direction, then fall back to the player's facing.
        this._velocity.set(0, 0, 0);
        if (player.userData.velocity instanceof THREE.Vector3) {
          this._velocity.copy(player.userData.velocity);
        }
    
        this._forward.set(0, 0, -1).applyQuaternion(player.quaternion);
        this._forward.y = 0;
    
        if (this._velocity.lengthSq() > 0.01) {
          this._forward.lerp(
            this._velocity.clone().setY(0).normalize(),
            0.35
          ).normalize();
        } else if (this._forward.lengthSq() < 0.001) {
          this._forward.set(0, 0, -1);
        } else {
          this._forward.normalize();
        }
    
        // Look ahead along the travel direction to make turns feel less reactive.
        const speed = Math.min(this._velocity.length(), 12);
        this._lookTarget.copy(this._pivot).addScaledVector(
          this._forward,
          this.lookAhead * (0.35 + speed / 12)
        );
    
        const yaw = player.rotation.y;
        this._direction.set(Math.sin(yaw), 0, Math.cos(yaw)).normalize();
        this._desiredPosition.copy(this._pivot)
          .addScaledVector(this._direction, this.distance)
          .addScaledVector(WORLD_UP, this.height - this.lookHeight);
    
        this._resolveWallOcclusion(this._pivot, this._desiredPosition);
        this._resolveTerrain(this._desiredPosition);
    
        if (!this.initialized) {
          this.positionSpring.position.copy(this._desiredPosition);
          this.currentLook.copy(this._lookTarget);
          this.initialized = true;
        } else {
          this.positionSpring.update(this._desiredPosition, dt);
          this.currentLook.lerp(this._lookTarget, 1 - Math.exp(-8 * dt));
        }
    
        this.camera.position.copy(this.positionSpring.position);
        this.camera.lookAt(this.currentLook);
      }
    
      _resolveWallOcclusion(origin, desired) {
        this._direction.copy(desired).sub(origin);
        const requestedDistance = this._direction.length();
        if (requestedDistance < 0.001) return;
        this._direction.normalize();
    
        // Cast the center ray plus two shoulder rays so thin walls are less likely
        // to slip through when the camera is close to an edge.
        this._right.crossVectors(this._direction, WORLD_UP).normalize();
        let nearest = requestedDistance;
        const offsets = [0, 0.22, -0.22];
    
        for (const offset of offsets) {
          const rayOrigin = this._pivot.clone().addScaledVector(this._right, offset);
          this.raycaster.set(rayOrigin, this._direction);
          this.raycaster.near = 0.05;
          this.raycaster.far = requestedDistance;
    
          const hits = this.raycaster.intersectObjects(this.colliders, true);
          if (hits.length > 0) {
            nearest = Math.min(nearest, hits[0].distance - this.collisionPadding);
          }
        }
    
        const safeDistance = THREE.MathUtils.clamp(
          nearest,
          this.minimumDistance,
          requestedDistance
        );
        desired.copy(origin).addScaledVector(this._direction, safeDistance);
      }
    
      _resolveTerrain(position) {
        // Keep the camera above hills and uneven ground after wall pull-in.
        this._upRayOrigin.copy(position).addScaledVector(WORLD_UP, 20);
        this.raycaster.set(this._upRayOrigin, WORLD_UP.clone().negate());
        this.raycaster.near = 0;
        this.raycaster.far = 40;
    
        const hits = this.raycaster.intersectObjects(this.terrain, true);
        if (hits.length === 0) return;
    
        const minimumY = hits[0].point.y + this.terrainPadding;
        if (position.y < minimumY) position.y = minimumY;
      }
    }
    
    // Example setup:
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.1, 500);
    const player = new THREE.Object3D();
    player.userData.velocity = new THREE.Vector3();
    
    const walls = [/* meshes used as wall colliders */];
    const terrain = [/* terrain meshes */];
    const followCamera = new ThirdPersonCamera(camera, {
      colliders: walls,
      terrain,
      distance: 7,
      height: 2.6,
      lookHeight: 1.4,
      lookAhead: 3,
      collisionPadding: 0.35
    });
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      const delta = clock.getDelta();
    
      // Update player.userData.velocity and player transform before the camera.
      followCamera.update(player, delta);
      renderer.render(scene, camera);
    }
    
    // `scene` and `renderer` are assumed to be your existing Three.js scene setup.
    animate();
    
    References
    2
    1. rahil-algobear/SpeedRacersrc/game/CameraRig.js

      Implements a three.js third-person-style camera rig with spring-based smoothing and look-ahead (“Eyes lead the car”); however, the provided match evidence doesn’t clearly demonstrate terrain/wall collision occlusion via raycasting/pull-in.

      codeMIT
    2. craftmygame/little-citylittle-taipei/main.js

      Contains a substantial Three.js third-person-style runner with a custom camera/terrain system and procedural ground/obstacle generation, using raycast-adjacent scene collision concepts; however it’s not clearly focused on camera occlusion pull-in, wall collision via Raycaster, or springy smoothing/look-ahead as stated in the query.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "three.js third-person follow camera with terrain/wall collision using raycast, spring smoothing, look-ahead and camera occlusion pull-in",
      "language": "javascript",
      "license_mode": "strict"
    }
  190. 190
    +22:12Code GrepCode navigationthree-mesh-bvh“closestPointToSegment”2.9 sCompleted⌄

    closestPointToSegment

    Started
    Aug 7, 2026, 1:36:07 PM UTC
    Ended
    Aug 7, 2026, 1:36:10 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "API.md",
        "API.md",
        "CHANGELOG.md",
        "example/characterMovement.js",
        "example/objectbvh_characterMovement.js",
        "src/index.d.ts",
        "src/math/ExtendedTriangle.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 1015,
          "file_path": "API.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1007-L1015",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 1007
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 1018,
          "file_path": "API.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1010-L1018",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 1010
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 497,
          "file_path": "CHANGELOG.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/CHANGELOG.md#L489-L497",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 489
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 383,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L375-L383",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 375
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 399,
          "file_path": "example/objectbvh_characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L391-L399",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 391
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 432,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L424-L432",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 424
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 151,
          "file_path": "src/math/ExtendedTriangle.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L143-L151",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 143
        }
      ],
      "returned_matches": 7,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 20,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "closestPointToSegment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "API.md",
          "API.md",
          "CHANGELOG.md",
          "example/characterMovement.js",
          "example/objectbvh_characterMovement.js",
          "src/index.d.ts",
          "src/math/ExtendedTriangle.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 1015,
            "file_path": "API.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1007-L1015",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 1007
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 1018,
            "file_path": "API.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L1010-L1018",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 1010
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 497,
            "file_path": "CHANGELOG.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/CHANGELOG.md#L489-L497",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 489
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 383,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L375-L383",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 375
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 399,
            "file_path": "example/objectbvh_characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L391-L399",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 391
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 432,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L424-L432",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 424
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 151,
            "file_path": "src/math/ExtendedTriangle.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L143-L151",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 143
          }
        ],
        "returned_matches": 7,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  191. 191
    +22:13Get ExampleGenerated exampleprocedural stylized low-poly character built from LatheGeometry and ExtrudeGeometry shapes with Bone joint hierarchy three.js3 sources1 min 46 sCompleted⌄

    procedural stylized low-poly character built from LatheGeometry and ExtrudeGeometry shapes with Bone joint hierarchy three.js · javascript · strict

    Started
    Aug 7, 2026, 1:36:07 PM UTC
    Ended
    Aug 7, 2026, 1:37:53 PM UTC
    Outcome
    Result returned
    Targets
    3

    Procedural Low-Poly Character with Lathe and Extrude Geometry

    import * as THREE from "three";
    import { OrbitControls } from "three/addons/controls/OrbitControls.js";
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x202735);
    
    const camera = new THREE.PerspectiveCamera(35, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(5, 3.5, 7);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.appendChild(renderer.domElement);
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.target.set(0, 1.8, 0);
    controls.enableDamping = true;
    
    scene.add(new THREE.HemisphereLight(0xbfd8ff, 0x263044, 2.2));
    const keyLight = new THREE.DirectionalLight(0xffffff, 3);
    keyLight.position.set(4, 7, 5);
    keyLight.castShadow = true;
    scene.add(keyLight);
    
    const materials = {
      skin: new THREE.MeshStandardMaterial({ color: 0xf0ae82, roughness: 0.9, flatShading: true }),
      shirt: new THREE.MeshStandardMaterial({ color: 0x3978d4, roughness: 0.85, flatShading: true }),
      pants: new THREE.MeshStandardMaterial({ color: 0x28334e, roughness: 0.9, flatShading: true }),
      shoe: new THREE.MeshStandardMaterial({ color: 0x191b24, roughness: 0.75, flatShading: true }),
      accent: new THREE.MeshStandardMaterial({ color: 0xffc857, roughness: 0.8, flatShading: true })
    };
    
    function mesh(geometry, material, name) {
      const object = new THREE.Mesh(geometry, material);
      object.name = name;
      object.castShadow = true;
      object.receiveShadow = true;
      return object;
    }
    
    function lathe(points, material, name, segments = 8) {
      const profile = points.map(([radius, y]) => new THREE.Vector2(radius, y));
      return mesh(new THREE.LatheGeometry(profile, segments), material, name);
    }
    
    function extrudedPolygon(points, depth, material, name) {
      const shape = new THREE.Shape();
      shape.moveTo(points[0][0], points[0][1]);
      for (let i = 1; i < points.length; i++) shape.lineTo(points[i][0], points[i][1]);
      shape.closePath();
    
      const geometry = new THREE.ExtrudeGeometry(shape, {
        depth,
        bevelEnabled: true,
        bevelSegments: 1,
        bevelSize: 0.025,
        bevelThickness: 0.025
      });
      geometry.center();
      return mesh(geometry, material, name);
    }
    
    function limb(length, radius, material, name) {
      const group = new THREE.Group();
      group.name = name;
    
      const geometry = new THREE.CylinderGeometry(radius * 0.9, radius, length, 6);
      const part = mesh(geometry, material, `${name}-segment`);
      part.position.y = -length / 2;
      group.add(part);
    
      return group;
    }
    
    // Named Bone hierarchy: pelvis -> spine -> chest -> neck -> head,
    // with arms and legs branching from chest and pelvis.
    function createSkeleton() {
      const root = new THREE.Group();
      root.name = "character-root";
    
      const pelvis = new THREE.Bone();
      pelvis.name = "pelvis";
      pelvis.position.y = 1.05;
      root.add(pelvis);
    
      const spine = new THREE.Bone();
      spine.name = "spine";
      spine.position.y = 0.42;
      pelvis.add(spine);
    
      const chest = new THREE.Bone();
      chest.name = "chest";
      chest.position.y = 0.42;
      spine.add(chest);
    
      const neck = new THREE.Bone();
      neck.name = "neck";
      neck.position.y = 0.55;
      chest.add(neck);
    
      const head = new THREE.Bone();
      head.name = "head";
      head.position.y = 0.22;
      neck.add(head);
    
      for (const side of [-1, 1]) {
        const label = side < 0 ? "left" : "right";
    
        const shoulder = new THREE.Bone();
        shoulder.name = `${label}-shoulder`;
        shoulder.position.set(side * 0.48, 0.28, 0);
        chest.add(shoulder);
    
        const elbow = new THREE.Bone();
        elbow.name = `${label}-elbow`;
        elbow.position.set(side * 0.48, -0.46, 0);
        shoulder.add(elbow);
    
        const hand = new THREE.Bone();
        hand.name = `${label}-hand`;
        hand.position.set(side * 0.02, -0.42, 0);
        elbow.add(hand);
    
        const hip = new THREE.Bone();
        hip.name = `${label}-hip`;
        hip.position.set(side * 0.22, -0.08, 0);
        pelvis.add(hip);
    
        const knee = new THREE.Bone();
        knee.name = `${label}-knee`;
        knee.position.y = -0.58;
        hip.add(knee);
    
        const ankle = new THREE.Bone();
        ankle.name = `${label}-ankle`;
        ankle.position.y = -0.58;
        knee.add(ankle);
      }
    
      return { root, bones: { pelvis, spine, chest, neck, head } };
    }
    
    function buildCharacter() {
      const { root, bones } = createSkeleton();
      const bone = name => root.getObjectByName(name);
    
      // Low-poly torso built by rotating a 2D profile around the Y axis.
      bones.spine.add(lathe([
        [0.42, -0.45], [0.56, -0.3], [0.62, 0.22], [0.48, 0.52], [0.3, 0.62]
      ], materials.shirt, "lathed-torso", 8));
    
      bones.head.add(lathe([
        [0.18, -0.27], [0.34, -0.16], [0.4, 0.08], [0.31, 0.37], [0.12, 0.43]
      ], materials.skin, "lathed-head", 8));
    
      const nose = extrudedPolygon([
        [-0.08, 0], [0.13, 0.04], [0.08, -0.08], [-0.08, -0.06]
      ], 0.12, materials.skin, "extruded-nose");
      nose.position.set(0, 0.08, 0.37);
      bones.head.add(nose);
    
      const badge = extrudedPolygon([
        [-0.18, -0.18], [0.18, -0.18], [0.18, 0.18], [-0.18, 0.18]
      ], 0.035, materials.accent, "extruded-badge");
      badge.position.set(0, 0.08, 0.59);
      bones.spine.add(badge);
    
      for (const side of [-1, 1]) {
        const label = side < 0 ? "left" : "right";
        const shoulder = bone(`${label}-shoulder`);
        const elbow = bone(`${label}-elbow`);
        const hand = bone(`${label}-hand`);
        const hip = bone(`${label}-hip`);
        const knee = bone(`${label}-knee`);
        const ankle = bone(`${label}-ankle`);
    
        shoulder.add(limb(0.48, 0.13, materials.shirt, `${label}-upper-arm`));
        elbow.add(limb(0.42, 0.105, materials.skin, `${label}-forearm`));
        hand.add(lathe([[0.1, -0.12], [0.13, 0], [0.1, 0.13]], materials.skin, `${label}-hand-mesh`, 6));
    
        hip.add(limb(0.58, 0.19, materials.pants, `${label}-thigh`));
        knee.add(limb(0.55, 0.14, materials.skin, `${label}-shin`));
    
        const shoe = extrudedPolygon([
          [-0.2, -0.12], [0.25, -0.12], [0.3, 0.02], [0.12, 0.16], [-0.2, 0.12]
        ], 0.24, materials.shoe, `${label}-shoe`);
        shoe.rotation.x = Math.PI / 2;
        shoe.position.set(side * 0.05, -0.08, 0.1);
        ankle.add(shoe);
      }
    
      // SkeletonHelper makes the joint hierarchy visible while developing.
      root.add(new THREE.SkeletonHelper(root));
      return root;
    }
    
    const character = buildCharacter();
    character.position.y = 0.15;
    scene.add(character);
    
    const floor = new THREE.Mesh(
      new THREE.CircleGeometry(8, 32),
      new THREE.MeshStandardMaterial({ color: 0x30394d, roughness: 1 })
    );
    floor.rotation.x = -Math.PI / 2;
    floor.receiveShadow = true;
    scene.add(floor);
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      const t = clock.getElapsedTime();
    
      const leftShoulder = character.getObjectByName("left-shoulder");
      const rightShoulder = character.getObjectByName("right-shoulder");
      const leftHip = character.getObjectByName("left-hip");
      const rightHip = character.getObjectByName("right-hip");
      const chest = character.getObjectByName("chest");
    
      // Simple procedural walk cycle driven directly by the named bones.
      leftShoulder.rotation.z = Math.sin(t * 5) * 0.35;
      rightShoulder.rotation.z = -Math.sin(t * 5) * 0.35;
      leftHip.rotation.z = -Math.sin(t * 5) * 0.25;
      rightHip.rotation.z = Math.sin(t * 5) * 0.25;
      chest.rotation.y = Math.sin(t * 2.5) * 0.06;
    
      controls.update();
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener("resize", () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    3
    1. tengge1/ShadowEditorweb/assets/js/tern-threejs/threejs.js

      Matches three.js geometry APIs (ExtrudeGeometry, LatheGeometry) and references “character” in a JavaScript codebase, but it appears to be a tern/three.js type definition bundle rather than a concrete procedural low-poly rigged character with a bone hierarchy.

      codeMIT
    2. alixpham/alixpham.github.ioflagster/js/player3d.js

      Implements a procedural, named bone hierarchy and animation system using Three.js AnimationMixer with quaternion keyframe tracks for rigged character motion; close match to three.js bone joint hierarchy aspect, though it doesn’t specifically show LatheGeometry/ExtrudeGeometry low-poly construction.

      codeMIT
    3. Hash-7777/HashCortXsrc/modes/forge/mode.js

      Contains concrete three.js procedural geometry generation using LatheGeometry and ExtrudeGeometry plus a larger scene/mesh pipeline, but it does not address a bone/joint hierarchy for a procedural low-poly character as requested—so it’s only a partial match to the geometry portion.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "procedural stylized low-poly character built from LatheGeometry and ExtrudeGeometry shapes with Bone joint hierarchy three.js",
      "language": "javascript",
      "license_mode": "strict"
    }
  192. 192
    +22:17Code GrepCode navigationthree“closestPointToPoint”1.2 sCompleted⌄

    closestPointToPoint

    Started
    Aug 7, 2026, 1:36:12 PM UTC
    Ended
    Aug 7, 2026, 1:36:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Line3.js",
        "src/math/Line3.js",
        "src/math/Line3.js",
        "src/math/Ray.js",
        "src/math/Triangle.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 145,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L133-L145",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 133
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 176,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L164-L176",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 164
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 178,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L166-L178",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 166
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 129,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L117-L129",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 117
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 450,
          "file_path": "src/math/Triangle.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Triangle.js#L438-L450",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 438
        }
      ],
      "returned_matches": 5,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 14,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/math/"
        }
      ],
      "pattern": "closestPointToPoint",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Line3.js",
          "src/math/Line3.js",
          "src/math/Line3.js",
          "src/math/Ray.js",
          "src/math/Triangle.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 145,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L133-L145",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 133
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 176,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L164-L176",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 164
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 178,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L166-L178",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 166
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 129,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L117-L129",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 117
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 450,
            "file_path": "src/math/Triangle.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Triangle.js#L438-L450",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 438
          }
        ],
        "returned_matches": 5,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  193. 193
    +22:28Code ReadCode navigationthree-mesh-bvh1.2 sCompleted⌄
    Started
    Aug 7, 2026, 1:36:22 PM UTC
    Ended
    Aug 7, 2026, 1:36:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "end_line": 240,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 101,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 240,
          "file_path": "src/math/ExtendedTriangle.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L140-L240",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 140
        }
      ],
      "start_line": 140,
      "status": "success",
      "total_lines": 868
    }
    Request⌄

    Request payload

    {
      "end_line": 240,
      "file_path": "src/math/ExtendedTriangle.js",
      "package_name": "three-mesh-bvh",
      "registry": "npm",
      "start_line": 140,
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 240,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 101,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 240,
            "file_path": "src/math/ExtendedTriangle.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L140-L240",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 140
          }
        ],
        "start_line": 140,
        "status": "success",
        "total_lines": 868
      },
      "title": null,
      "content": null
    }
  194. 194
    +22:28Code ReadCode navigationthree382 msCompleted⌄
    Started
    Aug 7, 2026, 1:36:23 PM UTC
    Ended
    Aug 7, 2026, 1:36:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 240,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 91,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 240,
          "file_path": "src/math/Sphere.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Sphere.js#L150-L240",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 150
        }
      ],
      "start_line": 150,
      "status": "success",
      "total_lines": 420
    }
    Request⌄

    Request payload

    {
      "end_line": 240,
      "file_path": "src/math/Sphere.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 150,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 240,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 91,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 240,
            "file_path": "src/math/Sphere.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Sphere.js#L150-L240",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 150
          }
        ],
        "start_line": 150,
        "status": "success",
        "total_lines": 420
      },
      "title": null,
      "content": null
    }
  195. 195
    +22:39Code GrepCode navigationthree“^\t(intersectSphere|intersectsSphere|intersectsBox|distanceSqToPoint|set|delta|distanceSq|at)\(”1.7 sCompleted⌄

    ^\t(intersectSphere|intersectsSphere|intersectsBox|distanceSqToPoint|set|delta|distanceSq|at)\(

    Started
    Aug 7, 2026, 1:36:33 PM UTC
    Ended
    Aug 7, 2026, 1:36:35 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Box3.js",
        "src/math/Box3.js",
        "src/math/Box3.js",
        "src/math/Line3.js",
        "src/math/Line3.js",
        "src/math/Line3.js",
        "src/math/Line3.js",
        "src/math/Ray.js",
        "src/math/Ray.js",
        "src/math/Ray.js",
        "src/math/Ray.js",
        "src/math/Ray.js",
        "src/math/Ray.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 52,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L46-L52",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 46
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 445,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L439-L445",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 439
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 460,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L454-L460",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 454
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 52,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L46-L52",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 46
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 94,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L88-L94",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 88
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 105,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L99-L105",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 99
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 129,
          "file_path": "src/math/Line3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L123-L129",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 123
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 54,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L48-L54",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 48
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 85,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L79-L85",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 79
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 160,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L154-L160",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 154
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 314,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L308-L314",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 308
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 350,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L344-L350",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 344
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 526,
          "file_path": "src/math/Ray.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L520-L526",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 520
        }
      ],
      "returned_matches": 13,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 13,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 30,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/Ray.js"
        },
        {
          "kind": "GLOB",
          "value": "src/math/Line3.js"
        },
        {
          "kind": "GLOB",
          "value": "src/math/Box3.js"
        }
      ],
      "pattern": "^\\t(intersectSphere|intersectsSphere|intersectsBox|distanceSqToPoint|set|delta|distanceSq|at)\\(",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Box3.js",
          "src/math/Box3.js",
          "src/math/Box3.js",
          "src/math/Line3.js",
          "src/math/Line3.js",
          "src/math/Line3.js",
          "src/math/Line3.js",
          "src/math/Ray.js",
          "src/math/Ray.js",
          "src/math/Ray.js",
          "src/math/Ray.js",
          "src/math/Ray.js",
          "src/math/Ray.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 52,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L46-L52",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 46
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 445,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L439-L445",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 439
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 460,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L454-L460",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 454
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 52,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L46-L52",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 46
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 94,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L88-L94",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 88
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 105,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L99-L105",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 99
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 129,
            "file_path": "src/math/Line3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Line3.js#L123-L129",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 123
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 54,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L48-L54",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 48
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 85,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L79-L85",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 79
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 160,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L154-L160",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 154
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 314,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L308-L314",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 308
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 350,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L344-L350",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 344
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 526,
            "file_path": "src/math/Ray.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Ray.js#L520-L526",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 520
          }
        ],
        "returned_matches": 13,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 13,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  196. 196
    +22:47Code GrepCode navigationthree-mesh-bvh“raycastFirst(”3.6 sCompleted⌄

    raycastFirst(

    Started
    Aug 7, 2026, 1:36:41 PM UTC
    Ended
    Aug 7, 2026, 1:36:45 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "API.md",
        "README.md",
        "example/sdfGeneration.js",
        "example/src/computeSelectedTriangles.js",
        "example/voxelize.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js",
        "src/core/cast/raycastFirst.template.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 512,
          "file_path": "API.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L504-L512",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 504
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 205,
          "file_path": "README.md",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/README.md#L197-L205",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 197
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 281,
          "file_path": "example/sdfGeneration.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/sdfGeneration.js#L273-L281",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 273
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 168,
          "file_path": "example/src/computeSelectedTriangles.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/src/computeSelectedTriangles.js#L160-L168",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 160
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 288,
          "file_path": "example/voxelize.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/voxelize.js#L280-L288",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 280
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 472,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L464-L472",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 464
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 562,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L554-L562",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 554
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 16,
          "file_path": "src/core/cast/raycastFirst.template.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/cast/raycastFirst.template.js#L8-L16",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 8
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 7
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "raycastFirst(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "API.md",
          "README.md",
          "example/sdfGeneration.js",
          "example/src/computeSelectedTriangles.js",
          "example/voxelize.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js",
          "src/core/cast/raycastFirst.template.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 512,
            "file_path": "API.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/API.md#L504-L512",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 504
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 205,
            "file_path": "README.md",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/README.md#L197-L205",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 197
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 281,
            "file_path": "example/sdfGeneration.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/sdfGeneration.js#L273-L281",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 273
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 168,
            "file_path": "example/src/computeSelectedTriangles.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/src/computeSelectedTriangles.js#L160-L168",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 160
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 288,
            "file_path": "example/voxelize.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/voxelize.js#L280-L288",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 280
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 472,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L464-L472",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 464
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 562,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L554-L562",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 554
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 16,
            "file_path": "src/core/cast/raycastFirst.template.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/cast/raycastFirst.template.js#L8-L16",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 8
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 7
      },
      "title": null,
      "content": null
    }
  197. 197
    +23:01Code ReadCode navigationthree1.8 sCompleted⌄
    Started
    Aug 7, 2026, 1:36:55 PM UTC
    Ended
    Aug 7, 2026, 1:36:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 60,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 60,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60,
          "file_path": "src/renderers/shaders/ShaderLib/meshbasic.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshbasic.glsl.js#L1-L60",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 116
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "src/renderers/shaders/ShaderLib/meshbasic.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 60,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 60,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60,
            "file_path": "src/renderers/shaders/ShaderLib/meshbasic.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshbasic.glsl.js#L1-L60",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 116
      },
      "title": null,
      "content": null
    }
  198. 198
    +23:03Code GrepCode navigationthree“geometryAttribute = geometry.attributes”1.7 sNo result⌄

    geometryAttribute = geometry.attributes

    Started
    Aug 7, 2026, 1:36:58 PM UTC
    Ended
    Aug 7, 2026, 1:36:59 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLBindingStates.js"
        }
      ],
      "pattern": "geometryAttribute = geometry.attributes",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  199. 199
    +23:06Code ReadCode navigationthree131 msCompleted⌄
    Started
    Aug 7, 2026, 1:37:00 PM UTC
    Ended
    Aug 7, 2026, 1:37:01 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 390,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 390,
          "file_path": "src/cameras/PerspectiveCamera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/PerspectiveCamera.js#L330-L390",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 330
        }
      ],
      "start_line": 330,
      "status": "success",
      "total_lines": 407
    }
    Request⌄

    Request payload

    {
      "end_line": 390,
      "file_path": "src/cameras/PerspectiveCamera.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 330,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 390,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 390,
            "file_path": "src/cameras/PerspectiveCamera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/PerspectiveCamera.js#L330-L390",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 330
          }
        ],
        "start_line": 330,
        "status": "success",
        "total_lines": 407
      },
      "title": null,
      "content": null
    }
  200. 200
    +23:16Get ExampleGenerated exampleaction game melee combat hitbox hurtbox system with frame data active frames startup recovery and combo cancel windows1 source24 sCompleted⌄

    action game melee combat hitbox hurtbox system with frame data active frames startup recovery and combo cancel windows · javascript · strict

    Started
    Aug 7, 2026, 1:37:10 PM UTC
    Ended
    Aug 7, 2026, 1:37:35 PM UTC
    Outcome
    Result returned
    Targets
    1

    JavaScript Melee Combat System with Frame Data and Combo Cancels

    // Runnable with: node melee.js
    
    const MOVES = {
      jab: {
        startup: 5,
        active: 3,
        recovery: 10,
        damage: 7,
        hitbox: { x: 28, y: -42, width: 34, height: 20 },
        cancel: { from: 6, to: 12, into: ['jab', 'heavy'] }
      },
      heavy: {
        startup: 12,
        active: 4,
        recovery: 22,
        damage: 18,
        hitbox: { x: 34, y: -38, width: 48, height: 28 },
        cancel: { from: 14, to: 18, into: ['jab'] }
      }
    };
    
    const overlap = (a, b) =>
      a.x < b.x + b.width &&
      a.x + a.width > b.x &&
      a.y < b.y + b.height &&
      a.y + a.height > b.y;
    
    class Fighter {
      constructor(name, x) {
        this.name = name;
        this.x = x;
        this.y = 0;
        this.width = 28;
        this.height = 70;
        this.hp = 100;
        this.facing = 1;
        this.current = null;
        this.frame = 0;
        this.alreadyHit = new Set();
      }
    
      hurtbox() {
        return {
          x: this.x - this.width / 2,
          y: this.y - this.height,
          width: this.width,
          height: this.height
        };
      }
    
      attackHitbox() {
        if (!this.current) return null;
        const box = this.current.data.hitbox;
        return {
          x: this.x + (this.facing === 1 ? box.x : -box.x - box.width),
          y: this.y + box.y,
          width: box.width,
          height: box.height
        };
      }
    
      phase() {
        if (!this.current) return 'idle';
        const { startup, active } = this.current.data;
        if (this.frame <= startup) return 'startup';
        if (this.frame <= startup + active) return 'active';
        return 'recovery';
      }
    
      canCancelInto(moveName) {
        if (!this.current) return true;
        const cancel = this.current.data.cancel;
        return Boolean(
          cancel &&
          this.frame >= cancel.from &&
          this.frame <= cancel.to &&
          cancel.into.includes(moveName)
        );
      }
    
      startMove(moveName) {
        const data = MOVES[moveName];
        if (!data) throw new Error(`Unknown move: ${moveName}`);
        if (!this.canCancelInto(moveName)) return false;
    
        this.current = { name: moveName, data };
        this.frame = 1;
        this.alreadyHit.clear();
        return true;
      }
    
      tick(opponent) {
        if (!this.current) return null;
    
        const event = {
          attacker: this.name,
          defender: opponent.name,
          move: this.current.name,
          frame: this.frame,
          phase: this.phase(),
          hit: false,
          damage: 0
        };
    
        if (this.phase() === 'active' && !this.alreadyHit.has(opponent)) {
          const hitbox = this.attackHitbox();
          if (overlap(hitbox, opponent.hurtbox())) {
            opponent.hp = Math.max(0, opponent.hp - this.current.data.damage);
            this.alreadyHit.add(opponent);
            event.hit = true;
            event.damage = this.current.data.damage;
          }
        }
    
        const total = this.current.data.startup +
          this.current.data.active + this.current.data.recovery;
        this.frame += 1;
        if (this.frame > total) {
          this.current = null;
          this.frame = 0;
        }
        return event;
      }
    }
    
    class MeleeWorld {
      constructor() {
        this.frame = 0;
        this.events = [];
        this.fighters = [];
      }
    
      add(fighter) {
        this.fighters.push(fighter);
        return fighter;
      }
    
      tick() {
        this.frame += 1;
        const [a, b] = this.fighters;
        for (const event of [a.tick(b), b.tick(a)]) {
          if (event) this.events.push({ worldFrame: this.frame, ...event });
        }
      }
    }
    
    // Example: jab connects, then is canceled into heavy during jab recovery.
    const world = new MeleeWorld();
    const player = world.add(new Fighter('Player', 100));
    const dummy = world.add(new Fighter('Dummy', 150));
    
    player.startMove('jab');
    for (let i = 0; i < 7; i++) {
      world.tick();
      const last = world.events.at(-1);
      if (last?.hit) console.log('Hit confirmed:', last);
    }
    
    // Jab frame 7 is inside its cancel window (frames 6–12).
    console.log('Canceled:', player.startMove('heavy'));
    
    for (let i = 0; i < 40; i++) {
      world.tick();
      const last = world.events.at(-1);
      if (last?.hit) console.log('Hit confirmed:', last);
    }
    
    console.log({
      frame: world.frame,
      playerHp: player.hp,
      dummyHp: dummy.hp,
      remainingEvents: world.events.length
    });
    
    References
    1
    1. WilsonNet/vento-aureoTraining Room: a scriptable practice dummy, with a React menu and an agent API

      Repo issue content is about a scriptable training dummy (hitbox/hurtbox mention) and includes frame-by-frame scripted interactions, which is adjacent to melee combat hitbox/hurtbox + frame data needs, but it’s an online training-system design rather than a concrete hitbox/hurtbox frame-data implementation or combo-cancel window spec; still useful as contextual guidance.

      issueMIT
    Request⌄

    Request payload

    {
      "query": "action game melee combat hitbox hurtbox system with frame data active frames startup recovery and combo cancel windows",
      "language": "javascript",
      "license_mode": "strict"
    }
  201. 201
    +23:26Code ReadCode navigationthree714 msCompleted⌄
    Started
    Aug 7, 2026, 1:37:21 PM UTC
    Ended
    Aug 7, 2026, 1:37:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 20,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 20,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 20,
          "file_path": "src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js#L1-L20",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 20
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 20,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 20,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 20,
            "file_path": "src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js#L1-L20",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 20
      },
      "title": null,
      "content": null
    }
  202. 202
    +23:29Code GrepCode navigationthree“geometry.attributes[ name ]”125 msNo result⌄

    geometry.attributes[ name ]

    Started
    Aug 7, 2026, 1:37:23 PM UTC
    Ended
    Aug 7, 2026, 1:37:23 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLBindingStates.js"
        }
      ],
      "pattern": "geometry.attributes[ name ]",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  203. 203
    +23:42Code GrepCode navigationthree“programAttributes”166 msCompleted⌄

    programAttributes

    Started
    Aug 7, 2026, 1:37:37 PM UTC
    Ended
    Aug 7, 2026, 1:37:37 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLBindingStates.js",
        "src/renderers/webgl/WebGLBindingStates.js",
        "src/renderers/webgl/WebGLBindingStates.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 165,
          "file_path": "src/renderers/webgl/WebGLBindingStates.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBindingStates.js#L147-L165",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 147
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 167,
          "file_path": "src/renderers/webgl/WebGLBindingStates.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBindingStates.js#L149-L167",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 149
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 169,
          "file_path": "src/renderers/webgl/WebGLBindingStates.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBindingStates.js#L151-L169",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 151
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 9,
      "context_lines_before": 9,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLBindingStates.js"
        }
      ],
      "pattern": "programAttributes",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLBindingStates.js",
          "src/renderers/webgl/WebGLBindingStates.js",
          "src/renderers/webgl/WebGLBindingStates.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 165,
            "file_path": "src/renderers/webgl/WebGLBindingStates.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBindingStates.js#L147-L165",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 147
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 167,
            "file_path": "src/renderers/webgl/WebGLBindingStates.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBindingStates.js#L149-L167",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 149
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 169,
            "file_path": "src/renderers/webgl/WebGLBindingStates.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBindingStates.js#L151-L169",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 151
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  204. 204
    +24:06Code GrepCode navigationthree“constructor( points =”497 msCompleted⌄

    constructor( points =

    Started
    Aug 7, 2026, 1:38:01 PM UTC
    Ended
    Aug 7, 2026, 1:38:01 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/extras/curves/CatmullRomCurve3.js",
        "src/geometries/LatheGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 126,
          "file_path": "src/extras/curves/CatmullRomCurve3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/extras/curves/CatmullRomCurve3.js#L114-L126",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 114
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 42,
          "file_path": "src/geometries/LatheGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L30-L42",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 30
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/geometries/LatheGeometry.js"
        },
        {
          "kind": "GLOB",
          "value": "src/extras/curves/CatmullRomCurve3.js"
        }
      ],
      "pattern": "constructor( points = ",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/extras/curves/CatmullRomCurve3.js",
          "src/geometries/LatheGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 126,
            "file_path": "src/extras/curves/CatmullRomCurve3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/extras/curves/CatmullRomCurve3.js#L114-L126",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 114
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 42,
            "file_path": "src/geometries/LatheGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L30-L42",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 30
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  205. 205
    +24:29Code GrepCode navigationthree“setRenderTarget( renderTarget, activeCubeFace”86 msNo result⌄

    setRenderTarget( renderTarget, activeCubeFace

    Started
    Aug 7, 2026, 1:38:23 PM UTC
    Ended
    Aug 7, 2026, 1:38:24 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "setRenderTarget( renderTarget, activeCubeFace",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  206. 206
    +24:30Code GrepCode navigationthree“constructor( left, right, top, bottom, near”196 msNo result⌄

    constructor( left, right, top, bottom, near

    Started
    Aug 7, 2026, 1:38:25 PM UTC
    Ended
    Aug 7, 2026, 1:38:25 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/cameras/OrthographicCamera.js"
        }
      ],
      "pattern": "constructor( left, right, top, bottom, near",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  207. 207
    +24:32Get ExampleGenerated exampletwo-bone analytic IK solver law of cosines leg foot placement three.js compute upper and lower joint rotations toward target2 sources41 sCompleted⌄

    two-bone analytic IK solver law of cosines leg foot placement three.js compute upper and lower joint rotations toward target · javascript · strict

    Started
    Aug 7, 2026, 1:38:26 PM UTC
    Ended
    Aug 7, 2026, 1:39:07 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Two-Bone Analytic Leg IK

    import * as THREE from "three";
    
    const _hip = new THREE.Vector3();
    const _knee = new THREE.Vector3();
    const _ankle = new THREE.Vector3();
    const _target = new THREE.Vector3();
    const _pole = new THREE.Vector3();
    const _axis = new THREE.Vector3();
    const _poleDirection = new THREE.Vector3();
    const _direction = new THREE.Vector3();
    const _currentDirection = new THREE.Vector3();
    const _delta = new THREE.Quaternion();
    const _parentInverse = new THREE.Quaternion();
    const _parentWorldRotation = new THREE.Quaternion();
    const _worldRotation = new THREE.Quaternion();
    
    function setWorldRotation(object, worldRotation) {
      if (object.parent) {
        object.parent.getWorldQuaternion(_parentWorldRotation);
        _parentInverse.copy(_parentWorldRotation).invert();
        object.quaternion.copy(_parentInverse).multiply(worldRotation);
      } else {
        object.quaternion.copy(worldRotation);
      }
    }
    
    function rotateBoneToward(bone, desiredChildPosition) {
      bone.getWorldPosition(_hip);
      _currentDirection.subVectors(desiredChildPosition, _hip).normalize();
    
      bone.getWorldQuaternion(_worldRotation);
      _direction.set(0, 1, 0).applyQuaternion(_worldRotation).normalize();
    
      // Apply the shortest world-space rotation, preserving the bone's roll.
      _delta.setFromUnitVectors(_direction, _currentDirection);
      setWorldRotation(bone, _delta.multiply(_worldRotation));
    }
    
    /**
     * Analytic two-bone IK using the law of cosines.
     *
     * @param {THREE.Bone} upperBone Hip-to-knee bone.
     * @param {THREE.Bone} lowerBone Knee-to-ankle bone.
     * @param {THREE.Object3D} target Target foot/ankle position.
     * @param {THREE.Object3D} pole Pole target controlling the knee direction.
     * @returns {{reachable: boolean, knee: THREE.Vector3, ankle: THREE.Vector3}}
     */
    export function solveTwoBoneIK(upperBone, lowerBone, target, pole) {
      upperBone.getWorldPosition(_hip);
      lowerBone.getWorldPosition(_knee);
      lowerBone.children[0]?.getWorldPosition(_ankle);
      target.getWorldPosition(_target);
      pole.getWorldPosition(_pole);
    
      const upperLength = _hip.distanceTo(_knee);
      const lowerLength = lowerBone.children[0]
        ? _knee.distanceTo(_ankle)
        : lowerBone.length ?? 1;
    
      if (upperLength <= 1e-6 || lowerLength <= 1e-6) {
        throw new Error("IK bones must have non-zero lengths");
      }
    
      _axis.subVectors(_target, _hip);
      const requestedDistance = _axis.length();
      const minReach = Math.abs(upperLength - lowerLength);
      const maxReach = upperLength + lowerLength;
      const distance = THREE.MathUtils.clamp(requestedDistance, minReach, maxReach);
      const reachable = requestedDistance >= minReach && requestedDistance <= maxReach;
    
      if (requestedDistance <= 1e-6) {
        _axis.set(0, -1, 0);
      } else {
        _axis.normalize();
      }
    
      // Place the effective target on the reachable sphere.
      const effectiveTarget = _target.clone();
      if (!reachable || requestedDistance !== distance) {
        effectiveTarget.copy(_hip).addScaledVector(_axis, distance);
      }
    
      // Law of cosines: distance from hip to the knee projection.
      const kneeAlongAxis = (
        upperLength ** 2 - lowerLength ** 2 + distance ** 2
      ) / (2 * distance);
      const kneeHeight = Math.sqrt(
        Math.max(0, upperLength ** 2 - kneeAlongAxis ** 2)
      );
    
      // Project the pole direction onto the plane perpendicular to hip->target.
      _poleDirection.subVectors(_pole, _hip);
      _poleDirection.addScaledVector(
        _axis,
        -_poleDirection.dot(_axis)
      );
    
      if (_poleDirection.lengthSq() < 1e-10) {
        _poleDirection.set(0, 1, 0);
        _poleDirection.addScaledVector(_axis, -_poleDirection.dot(_axis));
      }
      _poleDirection.normalize();
    
      _knee.copy(_hip)
        .addScaledVector(_axis, kneeAlongAxis)
        .addScaledVector(_poleDirection, kneeHeight);
    
      // Solve the upper bone, update matrices, then solve the lower bone.
      rotateBoneToward(upperBone, _knee);
      upperBone.updateMatrixWorld(true);
    
      rotateBoneToward(lowerBone, effectiveTarget);
      lowerBone.updateMatrixWorld(true);
    
      return {
        reachable,
        knee: _knee.clone(),
        ankle: effectiveTarget.clone(),
      };
    }
    
    // Example usage:
    const result = solveTwoBoneIK(
      skeleton.getBoneByName("thigh_l"),
      skeleton.getBoneByName("calf_l"),
      footTargetObject,
      kneePoleObject,
    );
    
    if (!result.reachable) {
      console.warn("The requested foot position is outside the leg's reach.");
    }
    
    References
    2
    1. AHEKOT/ComfyUI_VNCCS_Utilsweb/vnccs_pose_studio_core.js

      Contains a JavaScript analytic 2-bone IK solver using the law of cosines for knee/leg chains, computing upper/mid joint bend angles and direction/bend orientation toward a target and pole; clearly aligns with three.js two-bone analytic IK leg foot placement and joint rotation computation.

      codeMIT
    2. gfxfundamentals/threejsfundamentalsthreejs/resources/threejs/r102/js/animation/CCDIKSolver.js

      Three.js CCD IK solver implementation (THREE.CCDIKSolver) with target/effector/links and rotation updates toward IK target; closely matches IK-in-three.js but it’s CCD iterative, not analytic two-bone law-of-cosines leg IK.

      codeBSD-3-Clause
    Request⌄

    Request payload

    {
      "query": "two-bone analytic IK solver law of cosines leg foot placement three.js compute upper and lower joint rotations toward target",
      "language": "javascript",
      "license_mode": "strict"
    }
  208. 208
    +24:36Code GrepCode navigationthree“this.setRenderTarget = function”1.7 sCompleted⌄

    this.setRenderTarget = function

    Started
    Aug 7, 2026, 1:38:30 PM UTC
    Ended
    Aug 7, 2026, 1:38:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.module.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 78870,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L78854-L78870",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 78854
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 18892,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L18876-L18892",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 18876
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2898,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2882-L2898",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2882
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "this.setRenderTarget = function",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.module.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 78870,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L78854-L78870",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 78854
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 18892,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L18876-L18892",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 18876
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2898,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2882-L2898",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2882
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  209. 209
    +24:37Code GrepCode navigationthree“class OrthographicCamera extends Camera”917 msCompleted⌄

    class OrthographicCamera extends Camera

    Started
    Aug 7, 2026, 1:38:32 PM UTC
    Ended
    Aug 7, 2026, 1:38:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.core.js",
        "src/cameras/OrthographicCamera.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 47062,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L47042-L47062",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 47042
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 47082,
          "file_path": "build/three.core.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L47062-L47082",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 47062
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 27,
          "file_path": "src/cameras/OrthographicCamera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/OrthographicCamera.js#L7-L27",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 7
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "class OrthographicCamera extends Camera",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.core.js",
          "src/cameras/OrthographicCamera.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 47062,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L47042-L47062",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 47042
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 47082,
            "file_path": "build/three.core.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L47062-L47082",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 47062
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 27,
            "file_path": "src/cameras/OrthographicCamera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/OrthographicCamera.js#L7-L27",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 7
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  210. 210
    +24:42Code GrepCode navigationthree“camera.layers.test( object.layers )”800 msNo result⌄

    camera.layers.test( object.layers )

    Started
    Aug 7, 2026, 1:38:37 PM UTC
    Ended
    Aug 7, 2026, 1:38:38 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/**/*.js"
        }
      ],
      "pattern": "camera.layers.test( object.layers )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  211. 211
    +24:43Code ReadCode navigationthree509 msCompleted⌄
    Started
    Aug 7, 2026, 1:38:38 PM UTC
    Ended
    Aug 7, 2026, 1:38:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 120,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 120,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "src/core/Layers.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L1-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 121
    }
    Request⌄

    Request payload

    {
      "end_line": 120,
      "file_path": "src/core/Layers.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 120,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 120,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "src/core/Layers.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L1-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 121
      },
      "title": null,
      "content": null
    }
  212. 212
    +24:49Code GrepCode navigationthree“_currentRenderList.push( object, geometry, material, groupOrder”120 msNo result⌄

    _currentRenderList.push( object, geometry, material, groupOrder

    Started
    Aug 7, 2026, 1:38:44 PM UTC
    Ended
    Aug 7, 2026, 1:38:44 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "_currentRenderList.push( object, geometry, material, groupOrder",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  213. 213
    +24:50Code GrepCode navigationthree“setAttribute( name, attribute )”113 msCompleted⌄

    setAttribute( name, attribute )

    Started
    Aug 7, 2026, 1:38:44 PM UTC
    Ended
    Aug 7, 2026, 1:38:45 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 303,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L283-L303",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 283
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "setAttribute( name, attribute )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 303,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L283-L303",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 283
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  214. 214
    +24:53Code GrepCode navigationthree“setIndex( index ) {”171 msCompleted⌄

    setIndex( index ) {

    Started
    Aug 7, 2026, 1:38:48 PM UTC
    Ended
    Aug 7, 2026, 1:38:48 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 240,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L220-L240",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 220
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "setIndex( index ) {",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 240,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L220-L240",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 220
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  215. 215
    +24:54Code GrepCode navigationthree“object.layers.test”68 msCompleted⌄

    object.layers.test

    Started
    Aug 7, 2026, 1:38:48 PM UTC
    Ended
    Aug 7, 2026, 1:38:48 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1397,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1389-L1397",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1389
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1415,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1407-L1415",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1407
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1839,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1831-L1839",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1831
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2064,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2056-L2064",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2056
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2118,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2110-L2118",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2110
        }
      ],
      "returned_matches": 5,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "object.layers.test",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1397,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1389-L1397",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1389
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1415,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1407-L1415",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1407
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1839,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1831-L1839",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1831
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2064,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2056-L2064",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2056
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2118,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2110-L2118",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2110
          }
        ],
        "returned_matches": 5,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  216. 216
    +25:02Code GrepCode navigationthree“constructor(”170 msCompleted⌄

    constructor(

    Started
    Aug 7, 2026, 1:38:56 PM UTC
    Ended
    Aug 7, 2026, 1:38:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/geometries/ExtrudeGeometry.js",
        "src/geometries/TubeGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 43,
          "file_path": "src/geometries/ExtrudeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L37-L43",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 48,
          "file_path": "src/geometries/TubeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TubeGeometry.js#L42-L48",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 42
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/geometries/ExtrudeGeometry.js"
        },
        {
          "kind": "GLOB",
          "value": "src/geometries/TubeGeometry.js"
        }
      ],
      "pattern": "constructor(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/geometries/ExtrudeGeometry.js",
          "src/geometries/TubeGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 43,
            "file_path": "src/geometries/ExtrudeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L37-L43",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 48,
            "file_path": "src/geometries/TubeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TubeGeometry.js#L42-L48",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 42
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  217. 217
    +25:02Code ReadCode navigationthree669 msCompleted⌄
    Started
    Aug 7, 2026, 1:38:57 PM UTC
    Ended
    Aug 7, 2026, 1:38:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1925,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 95,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1925,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1831-L1925",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1831
        }
      ],
      "start_line": 1831,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 1925,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1831,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1925,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 95,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1925,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1831-L1925",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1831
          }
        ],
        "start_line": 1831,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  218. 218
    +25:02Code ReadCode navigationthree141 msCompleted⌄
    Started
    Aug 7, 2026, 1:38:57 PM UTC
    Ended
    Aug 7, 2026, 1:38:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 2125,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 41,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2125,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2085-L2125",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2085
        }
      ],
      "start_line": 2085,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 2125,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 2085,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 2125,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 41,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2125,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2085-L2125",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2085
          }
        ],
        "start_line": 2085,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  219. 219
    +25:03Code GrepCode navigationthree“setFromUnitVectors”880 msCompleted⌄

    setFromUnitVectors

    Started
    Aug 7, 2026, 1:38:58 PM UTC
    Ended
    Aug 7, 2026, 1:38:58 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Quaternion.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 475,
          "file_path": "src/math/Quaternion.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L467-L475",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 467
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/Quaternion.js"
        }
      ],
      "pattern": "setFromUnitVectors",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Quaternion.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 475,
            "file_path": "src/math/Quaternion.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L467-L475",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 467
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  220. 220
    +25:08Code ReadCode navigationthree83 msCompleted⌄
    Started
    Aug 7, 2026, 1:39:02 PM UTC
    Ended
    Aug 7, 2026, 1:39:02 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 40,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 40,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 40,
          "file_path": "src/geometries/ExtrudeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L1-L40",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 910
    }
    Request⌄

    Request payload

    {
      "end_line": 40,
      "file_path": "src/geometries/ExtrudeGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 40,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 40,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 40,
            "file_path": "src/geometries/ExtrudeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L1-L40",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 910
      },
      "title": null,
      "content": null
    }
  221. 221
    +25:11Code ReadCode navigationthree261 msCompleted⌄
    Started
    Aug 7, 2026, 1:39:05 PM UTC
    Ended
    Aug 7, 2026, 1:39:06 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 830,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 41,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 830,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L790-L830",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 790
        }
      ],
      "start_line": 790,
      "status": "success",
      "total_lines": 1032
    }
    Request⌄

    Request payload

    {
      "end_line": 830,
      "file_path": "src/renderers/webgl/WebGLProgram.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 790,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 830,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 41,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 830,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L790-L830",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 790
          }
        ],
        "start_line": 790,
        "status": "success",
        "total_lines": 1032
      },
      "title": null,
      "content": null
    }
  222. 222
    +25:12Code GrepCode navigationthree“setValueV4a”350 msNo result⌄

    setValueV4a

    Started
    Aug 7, 2026, 1:39:07 PM UTC
    Ended
    Aug 7, 2026, 1:39:07 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLUniforms.js"
        }
      ],
      "pattern": "setValueV4a",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  223. 223
    +25:21Code GrepCode navigationthree“function flatten( array, nBlocks, blockSize )”220 msCompleted⌄

    function flatten( array, nBlocks, blockSize )

    Started
    Aug 7, 2026, 1:39:16 PM UTC
    Ended
    Aug 7, 2026, 1:39:16 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLUniforms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 84,
          "file_path": "src/renderers/webgl/WebGLUniforms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLUniforms.js#L64-L84",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLUniforms.js"
        }
      ],
      "pattern": "function flatten( array, nBlocks, blockSize )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLUniforms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 84,
            "file_path": "src/renderers/webgl/WebGLUniforms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLUniforms.js#L64-L84",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  224. 224
    +25:24Code GrepCode navigationthree“setValueV4fArray”890 msCompleted⌄

    setValueV4fArray

    Started
    Aug 7, 2026, 1:39:18 PM UTC
    Ended
    Aug 7, 2026, 1:39:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLUniforms.js",
        "src/renderers/webgl/WebGLUniforms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 724,
          "file_path": "src/renderers/webgl/WebGLUniforms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLUniforms.js#L708-L724",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 708
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 935,
          "file_path": "src/renderers/webgl/WebGLUniforms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLUniforms.js#L919-L935",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 919
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLUniforms.js"
        }
      ],
      "pattern": "setValueV4fArray",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLUniforms.js",
          "src/renderers/webgl/WebGLUniforms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 724,
            "file_path": "src/renderers/webgl/WebGLUniforms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLUniforms.js#L708-L724",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 708
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 935,
            "file_path": "src/renderers/webgl/WebGLUniforms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLUniforms.js#L919-L935",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 919
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  225. 225
    +25:24Code GrepCode navigationthree“@property {number} [bevelThickness”354 msCompleted⌄

    @property {number} [bevelThickness

    Started
    Aug 7, 2026, 1:39:19 PM UTC
    Ended
    Aug 7, 2026, 1:39:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/geometries/ExtrudeGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 911,
          "file_path": "src/geometries/ExtrudeGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L892-L911",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 892
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/geometries/ExtrudeGeometry.js"
        }
      ],
      "pattern": "@property {number} [bevelThickness",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/geometries/ExtrudeGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 911,
            "file_path": "src/geometries/ExtrudeGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/ExtrudeGeometry.js#L892-L911",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 892
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  226. 226
    +25:33Get ExampleGenerated exampleThree.js ocean clipmap concentric square LOD rings geometry with Gerstner wave vertex displacement and seam stitching1 source43 sCompleted⌄

    Three.js ocean clipmap concentric square LOD rings geometry with Gerstner wave vertex displacement and seam stitching · javascript · strict

    Started
    Aug 7, 2026, 1:39:27 PM UTC
    Ended
    Aug 7, 2026, 1:40:10 PM UTC
    Outcome
    Result returned
    Targets
    1

    Three.js Gerstner Ocean with Concentric Clipmap Rings and Seam Stitching

    import * as THREE from 'three';
    
    const MAX_WAVES = 8;
    
    const vertexShader = /* glsl */ `
    uniform float uTime;
    uniform int uWaveCount;
    uniform vec4 uWaveA[${MAX_WAVES}]; // direction.xy, k, omega
    uniform vec2 uWaveB[${MAX_WAVES}]; // amplitude, steepness
    
    varying vec3 vWorldPosition;
    varying vec3 vNormal;
    varying float vHeight;
    
    void main() {
      vec3 worldPosition = (modelMatrix * vec4(position, 1.0)).xyz;
      vec2 horizontal = worldPosition.xz;
      vec3 displacement = vec3(0.0);
      vec3 normal = vec3(0.0, 1.0, 0.0);
      float height = 0.0;
    
      for (int i = 0; i < ${MAX_WAVES}; i++) {
        if (i >= uWaveCount) break;
    
        vec2 direction = normalize(uWaveA[i].xy);
        float k = uWaveA[i].z;
        float omega = uWaveA[i].w;
        float amplitude = uWaveB[i].x;
        float steepness = uWaveB[i].y;
        float phase = k * dot(direction, horizontal) - omega * uTime;
        float sine = sin(phase);
        float cosine = cos(phase);
    
        displacement.xz += steepness * amplitude * direction * cosine;
        displacement.y += amplitude * sine;
    
        float wa = k * amplitude;
        normal.xz -= direction * wa * cosine;
        normal.y -= steepness * wa * sine;
        height += amplitude * sine;
      }
    
      vWorldPosition = worldPosition + displacement;
      vNormal = normalize(normal);
      vHeight = height;
      gl_Position = projectionMatrix * viewMatrix * vec4(vWorldPosition, 1.0);
    }`;
    
    const fragmentShader = /* glsl */ `
    precision highp float;
    
    uniform vec3 uDeepColor;
    uniform vec3 uShallowColor;
    uniform vec3 uSkyColor;
    uniform vec3 uSunDirection;
    uniform float uFogDensity;
    uniform vec3 uFogColor;
    
    varying vec3 vWorldPosition;
    varying vec3 vNormal;
    varying float vHeight;
    
    void main() {
      vec3 n = normalize(vNormal);
      vec3 viewDirection = normalize(cameraPosition - vWorldPosition);
      float heightMix = clamp(vHeight * 0.35 + 0.5, 0.0, 1.0);
      vec3 color = mix(uDeepColor, uShallowColor, heightMix);
    
      float fresnel = pow(1.0 - max(dot(n, viewDirection), 0.0), 5.0);
      color = mix(color, uSkyColor, 0.08 + fresnel * 0.8);
    
      vec3 reflection = reflect(-normalize(uSunDirection), n);
      float specular = pow(max(dot(reflection, viewDirection), 0.0), 96.0);
      color += vec3(1.0, 0.94, 0.82) * specular;
    
      float distanceToCamera = length(cameraPosition - vWorldPosition);
      float fog = 1.0 - exp(-uFogDensity * uFogDensity * distanceToCamera * distanceToCamera);
      color = mix(color, uFogColor, clamp(fog, 0.0, 1.0));
      gl_FragColor = vec4(color, 1.0);
    }`;
    
    function addGrid(target, x0, x1, z0, z1, nx, nz) {
      const base = target.positions.length / 3;
    
      for (let z = 0; z <= nz; z++) {
        const tz = z / nz;
        for (let x = 0; x <= nx; x++) {
          const tx = x / nx;
          target.positions.push(THREE.MathUtils.lerp(x0, x1, tx), 0, THREE.MathUtils.lerp(z0, z1, tz));
        }
      }
    
      for (let z = 0; z < nz; z++) {
        for (let x = 0; x < nx; x++) {
          const a = base + z * (nx + 1) + x;
          const b = a + 1;
          const d = a + nx + 1;
          const c = d + 1;
          target.indices.push(a, d, b, b, d, c);
        }
      }
    }
    
    function createRingGeometry(innerRadius, outerRadius, resolution) {
      const data = { positions: [], indices: [] };
      const depthSegments = Math.max(2, Math.ceil(resolution * (outerRadius - innerRadius) / outerRadius));
    
      // Four patches form an annulus without triangles across the inner hole.
      addGrid(data, -outerRadius, outerRadius, -outerRadius, -innerRadius, resolution * 2, depthSegments);
      addGrid(data, -outerRadius, outerRadius, innerRadius, outerRadius, resolution * 2, depthSegments);
      addGrid(data, -outerRadius, -innerRadius, -innerRadius, innerRadius, depthSegments, resolution * 2);
      addGrid(data, innerRadius, outerRadius, -innerRadius, innerRadius, depthSegments, resolution * 2);
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.Float32BufferAttribute(data.positions, 3));
      geometry.setIndex(data.indices);
      geometry.computeVertexNormals();
      return geometry;
    }
    
    function createSeamStitchGeometry(radius, resolution, skirtDepth) {
      const positions = [];
      const indices = [];
      const segments = resolution * 2;
    
      function addSide(point) {
        const base = positions.length / 3;
        for (let i = 0; i <= segments; i++) {
          const t = i / segments;
          const p = point(t);
          positions.push(p[0], 0, p[1]);
          positions.push(p[0], -skirtDepth, p[1]);
        }
        for (let i = 0; i < segments; i++) {
          const a = base + i * 2;
          const b = a + 2;
          indices.push(a, b, a + 1, a + 1, b, b + 1);
        }
      }
    
      addSide(t => [THREE.MathUtils.lerp(-radius, radius, t), -radius]);
      addSide(t => [THREE.MathUtils.lerp(radius, -radius, t), radius]);
      addSide(t => [-radius, THREE.MathUtils.lerp(radius, -radius, t)]);
      addSide(t => [radius, THREE.MathUtils.lerp(-radius, radius, t)]);
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3));
      geometry.setIndex(indices);
      geometry.computeVertexNormals();
      return geometry;
    }
    
    export class OceanClipmap {
      constructor(scene, {
        levels = 6,
        baseCellSize = 1,
        resolution = 32,
        waveComponents = [],
        skirtDepth = 1.5,
        colorDeep = 0x063452,
        colorShallow = 0x2386a7,
        skyColor = 0x9fc3d9,
        fogColor = 0x9fc3d9,
        fogDensity = 0.0008
      } = {}) {
        if (waveComponents.length > MAX_WAVES) {
          throw new RangeError(`At most ${MAX_WAVES} waves are supported`);
        }
    
        this.group = new THREE.Group();
        this.group.frustumCulled = false;
        scene.add(this.group);
    
        const waveA = [];
        const waveB = [];
        for (let i = 0; i < MAX_WAVES; i++) {
          const wave = waveComponents[i];
          waveA.push(new THREE.Vector4(wave?.dirX ?? 1, wave?.dirZ ?? 0, wave?.k ?? 1, wave?.omega ?? 1));
          waveB.push(new THREE.Vector2(wave?.amplitude ?? 0, wave?.steepness ?? 0));
        }
    
        this.material = new THREE.ShaderMaterial({
          vertexShader,
          fragmentShader,
          uniforms: {
            uTime: { value: 0 },
            uWaveCount: { value: waveComponents.length },
            uWaveA: { value: waveA },
            uWaveB: { value: waveB },
            uDeepColor: { value: new THREE.Color(colorDeep) },
            uShallowColor: { value: new THREE.Color(colorShallow) },
            uSkyColor: { value: new THREE.Color(skyColor) },
            uSunDirection: { value: new THREE.Vector3(0.5, 0.7, -0.4).normalize() },
            uFogColor: { value: new THREE.Color(fogColor) },
            uFogDensity: { value: fogDensity }
          }
        });
    
        this.ringSpacing = baseCellSize;
        this.rings = [];
    
        for (let level = 0; level < levels; level++) {
          const cellSize = baseCellSize * 2 ** level;
          const inner = level === 0 ? 0 : cellSize * resolution;
          const outer = cellSize * resolution * 2;
          const ring = new THREE.Mesh(
            createRingGeometry(inner, outer, resolution),
            this.material
          );
          ring.frustumCulled = false;
          this.group.add(ring);
          this.rings.push(ring);
    
          // A downward skirt bridges the mismatched vertex spacing of adjacent LODs.
          if (level > 0) {
            const stitch = new THREE.Mesh(
              createSeamStitchGeometry(inner, resolution, skirtDepth * 2 ** level),
              this.material
            );
            stitch.frustumCulled = false;
            this.group.add(stitch);
          }
        }
      }
    
      update(timeSeconds, camera, sunDirection) {
        this.material.uniforms.uTime.value = timeSeconds;
        if (sunDirection) this.material.uniforms.uSunDirection.value.copy(sunDirection).normalize();
    
        // Recenter the clipmap on snapped cells, preventing swimming and preserving seams.
        const cell = this.ringSpacing;
        this.group.position.x = Math.floor(camera.position.x / cell) * cell;
        this.group.position.z = Math.floor(camera.position.z / cell) * cell;
      }
    
      dispose() {
        for (const child of this.group.children) child.geometry.dispose();
        this.material.dispose();
        this.group.parent?.remove(this.group);
      }
    }
    
    // Example wave setup:
    // const ocean = new OceanClipmap(scene, {
    //   waveComponents: [
    //     { dirX: 1, dirZ: 0.2, k: 0.12, omega: 0.45, amplitude: 1.2, steepness: 0.55 },
    //     { dirX: -0.4, dirZ: 1, k: 0.3, omega: 0.8, amplitude: 0.35, steepness: 0.35 }
    //   ]
    // });
    // ocean.update(clock.getElapsedTime(), camera, sun.position);
    
    References
    1
    1. abdulkadrtr/usv-simulation-ros2web/js/ocean.js

      Contains a JavaScript/Three.js Gerstner-wave ocean vertex displacement shader (GPU Gems-style), but it does not implement clipmap concentric-square LOD rings or seam stitching geometry; useful partial for the wave-displacement part.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "Three.js ocean clipmap concentric square LOD rings geometry with Gerstner wave vertex displacement and seam stitching",
      "language": "javascript",
      "license_mode": "strict"
    }
  227. 227
    +26:02Code GrepCode navigationthree“premultiply(”326 msCompleted⌄

    premultiply(

    Started
    Aug 7, 2026, 1:39:56 PM UTC
    Ended
    Aug 7, 2026, 1:39:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Quaternion.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 687,
          "file_path": "src/math/Quaternion.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L675-L687",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 675
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/math/Quaternion.js"
        }
      ],
      "pattern": "premultiply(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Quaternion.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 687,
            "file_path": "src/math/Quaternion.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Quaternion.js#L675-L687",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 675
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  228. 228
    +26:25Get ExampleGenerated examplewind system gust simulation global wind vector foliage sway shader uniform2 sources47 sCompleted⌄

    wind system gust simulation global wind vector foliage sway shader uniform · javascript · strict

    Started
    Aug 7, 2026, 1:40:20 PM UTC
    Ended
    Aug 7, 2026, 1:41:07 PM UTC
    Outcome
    Result returned
    Targets
    2

    Global Wind Gusts Driving a Foliage Sway Shader

    import * as THREE from 'three';
    
    // Shared scene-wide wind state. Every foliage material reads the same uniforms.
    const windUniforms = {
      uTime: { value: 0 },
      uWindDirection: { value: new THREE.Vector2(1, 0.3).normalize() },
      uWindSpeed: { value: 1.8 },
      uWindStrength: { value: 0.28 },
      uGustSpeed: { value: 1.9 },
      uGustResponse: { value: 0.65 },
    };
    
    const foliageVertexShader = /* glsl */ `
    uniform float uTime;
    uniform vec2 uWindDirection;
    uniform float uWindSpeed;
    uniform float uWindStrength;
    uniform float uGustSpeed;
    uniform float uGustResponse;
    
    attribute float aWindPhase;
    attribute float aWindResponse;
    
    varying vec2 vUv;
    
    float hash(float n) {
      return fract(sin(n) * 43758.5453123);
    }
    
    void main() {
      vUv = uv;
    
      // Vertex height makes roots stable while tips receive the strongest motion.
      float height = smoothstep(0.0, 1.0, uv.y);
      float phase = aWindPhase + position.x * 0.37 + position.z * 0.23;
    
      float broadWave = sin(
        dot(position.xz, uWindDirection) * 0.7 +
        uTime * uWindSpeed + phase
      );
    
      float gustWave = sin(
        dot(position.xz, uWindDirection * 1.7) * 0.9 +
        uTime * uGustSpeed + phase * 2.1
      );
    
      float gust = mix(1.0, 0.5 + 0.5 * gustWave, uGustResponse);
      float response = aWindResponse * height * height;
      float sway = (broadWave * 0.7 + gustWave * 0.3) *
        uWindStrength * gust * response;
    
      vec3 displaced = position;
      displaced.xz += uWindDirection * sway;
      displaced.y += abs(sway) * 0.08;
    
      gl_Position = projectionMatrix * modelViewMatrix * vec4(displaced, 1.0);
    }
    `;
    
    const foliageFragmentShader = /* glsl */ `
    varying vec2 vUv;
    
    void main() {
      vec3 base = mix(vec3(0.08, 0.22, 0.05), vec3(0.35, 0.7, 0.12), vUv.y);
      gl_FragColor = vec4(base, 1.0);
    }
    `;
    
    function createFoliageMaterial() {
      return new THREE.ShaderMaterial({
        uniforms: windUniforms,
        vertexShader: foliageVertexShader,
        fragmentShader: foliageFragmentShader,
        side: THREE.DoubleSide,
      });
    }
    
    function createGrassBlade() {
      const geometry = new THREE.PlaneGeometry(0.12, 1, 1, 5);
      const phases = [];
      const responses = [];
    
      for (let i = 0; i < geometry.attributes.position.count; i += 1) {
        phases.push(Math.random() * Math.PI * 2);
        responses.push(0.8 + Math.random() * 0.4);
      }
    
      geometry.setAttribute(
        'aWindPhase',
        new THREE.Float32BufferAttribute(phases, 1),
      );
      geometry.setAttribute(
        'aWindResponse',
        new THREE.Float32BufferAttribute(responses, 1),
      );
      return geometry;
    }
    
    export function createWindDrivenFoliage(scene) {
      const material = createFoliageMaterial();
      const geometry = createGrassBlade();
      const foliage = new THREE.InstancedMesh(geometry, material, 5000);
      const transform = new THREE.Object3D();
    
      for (let i = 0; i < foliage.count; i += 1) {
        transform.position.set(
          (Math.random() - 0.5) * 40,
          0.5,
          (Math.random() - 0.5) * 40,
        );
        transform.rotation.y = Math.random() * Math.PI;
        const scale = 0.7 + Math.random() * 0.8;
        transform.scale.set(scale, scale, scale);
        transform.updateMatrix();
        foliage.setMatrixAt(i, transform.matrix);
      }
    
      foliage.instanceMatrix.needsUpdate = true;
      scene.add(foliage);
      return foliage;
    }
    
    // Call once per frame. The same global vector and gust state affect all foliage.
    export function updateWind(deltaSeconds, elapsedSeconds, wind) {
      windUniforms.uTime.value = elapsedSeconds;
      windUniforms.uWindDirection.value.set(
        wind.direction[0],
        wind.direction[1],
      ).normalize();
      windUniforms.uWindSpeed.value = wind.speed;
      windUniforms.uWindStrength.value = wind.strength;
      windUniforms.uGustSpeed.value = wind.gustSpeed;
      windUniforms.uGustResponse.value = wind.gustResponse;
    }
    
    // Example render-loop integration:
    // const wind = { direction: [1, 0.3], speed: 1.8, strength: 0.28,
    //   gustSpeed: 2.4, gustResponse: 0.65 };
    // const clock = new THREE.Clock();
    // function animate() {
    //   const delta = clock.getDelta();
    //   const elapsed = clock.elapsedTime;
    //   updateWind(delta, elapsed, wind);
    //   renderer.render(scene, camera);
    //   requestAnimationFrame(animate);
    // }
    
    References
    2
    1. call-me-sensei/toonlabscripts/verify-public-api.mjs

      Contains JavaScript code and shader-source checks specifically mentioning grass wind uniforms such as uWindStrength/uWindResponse and vGust contributions; good partial match for gust simulation/global wind response wiring to foliage/vegetation shader behavior, though it’s focused on grass rather than a general global wind vector foliage sway system.

      codeMIT
    2. call-me-sensei/toonlablabs/lighting-lab/waterStage.js

      Shows JavaScript stage code configuring vegetation wind with gust parameters (e.g., `environment.wind`, `setWind` with `gustSpeed`) and uses shader-driven wind for grass/foliage-like vegetation; however it’s not specifically about a “foliage sway vertex shader” uniform name or a global wind vector uniform update pipeline.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "wind system gust simulation global wind vector foliage sway shader uniform",
      "language": "javascript",
      "license_mode": "strict"
    }
  229. 229
    +27:10Get ExampleGenerated examplequaternion integration from angular velocity rigid body javascript4 sources34 sCompleted⌄

    quaternion integration from angular velocity rigid body javascript · JavaScript · strict

    Started
    Aug 7, 2026, 1:41:04 PM UTC
    Ended
    Aug 7, 2026, 1:41:38 PM UTC
    Outcome
    Result returned
    Targets
    4

    Integrate a Rigid-Body Quaternion from Angular Velocity

    class Quaternion {
      constructor(x = 0, y = 0, z = 0, w = 1) {
        this.x = x;
        this.y = y;
        this.z = z;
        this.w = w;
      }
    
      multiply(q) {
        const { x: ax, y: ay, z: az, w: aw } = this;
        const { x: bx, y: by, z: bz, w: bw } = q;
    
        return new Quaternion(
          aw * bx + ax * bw + ay * bz - az * by,
          aw * by - ax * bz + ay * bw + az * bx,
          aw * bz + ax * by - ay * bx + az * bw,
          aw * bw - ax * bx - ay * by - az * bz
        );
      }
    
      normalize() {
        const length = Math.hypot(this.x, this.y, this.z, this.w);
        if (length === 0) return this.set(0, 0, 0, 1);
    
        this.x /= length;
        this.y /= length;
        this.z /= length;
        this.w /= length;
        return this;
      }
    
      set(x, y, z, w) {
        this.x = x;
        this.y = y;
        this.z = z;
        this.w = w;
        return this;
      }
    
      // Rotation produced by angular velocity omega over dt.
      static fromAngularVelocity(omega, dt) {
        const angle = Math.hypot(omega.x, omega.y, omega.z) * dt;
        if (angle < 1e-8) {
          // Small-angle approximation: sin(angle / 2) / |omega|.
          return new Quaternion(
            omega.x * dt * 0.5,
            omega.y * dt * 0.5,
            omega.z * dt * 0.5,
            1
          ).normalize();
        }
    
        const halfAngle = angle * 0.5;
        const scale = Math.sin(halfAngle) / Math.hypot(omega.x, omega.y, omega.z);
    
        return new Quaternion(
          omega.x * scale,
          omega.y * scale,
          omega.z * scale,
          Math.cos(halfAngle)
        );
      }
    }
    
    /**
     * Integrate orientation using world-space angular velocity.
     *
     * qNext = deltaRotation * q
     *
     * For local/body-space angular velocity, use:
     * qNext = q * deltaRotation instead.
     */
    function integrateQuaternion(orientation, angularVelocity, dt) {
      const deltaRotation = Quaternion.fromAngularVelocity(angularVelocity, dt);
      return deltaRotation.multiply(orientation).normalize();
    }
    
    // Example: rotate around the world Y axis at 2 radians per second.
    let orientation = new Quaternion();
    const angularVelocity = { x: 0, y: 2, z: 0 };
    const dt = 1 / 60;
    
    for (let step = 0; step < 60; step++) {
      orientation = integrateQuaternion(orientation, angularVelocity, dt);
    }
    
    console.log(orientation); // Approximately a 2-radian rotation around Y.
    
    References
    4
    1. NarcolepticEngineer/portfoliocontent/Rolling/cannon.js

      Contains a JavaScript implementation of Quaternion within a physics library-style file (including Quaternion math like mult/vmult and rigid-body angularVelocity fields), which is relevant background for integrating angular velocity into orientation, though it does not directly show the exact quaternion-from-angular-velocity integration step.

      codeMIT
    2. havokentity/demont-enginephysics: rigid body (orientation, multi-contact, box stacking) (Phase 2 of physics roadmap #131)

      Discusses rigid-body orientation via quaternion with angular velocity integration (quaternion derivative) and related physics roadmap, but it targets a C++ engine rather than JavaScript, so implementation details for JS are missing.

      issueMIT
    3. dweis/verold-cannon-appbuild/cannon_app.js

      Contains a JavaScript rigid-body physics math implementation of CANNON.Quaternion (including quaternion operations like multiplication/inverse and axis-angle conversions) that can be used to integrate angular velocity into orientation, but it doesn’t directly show the specific “integrate angular velocity” step for rigid bodies in the indexed snippet.

      codeMIT
    4. playcanvas/enginesrc/framework/components/rigid-body/component.js

      PlayCanvas Engine rigid-body component implements quaternion-based rotation handling and exposes angularVelocity APIs, but it doesn’t directly show quaternion integration from angular velocity in isolation (still relevant for rigid-body quaternion/ang-vel workflow).

      codeMIT
    Request⌄

    Request payload

    {
      "query": "quaternion integration from angular velocity rigid body javascript",
      "language": "JavaScript",
      "license_mode": "strict"
    }
  230. 230
    +28:52Get ExampleGenerated examplethree.js buoyancy floating boat on waves apply force at point torque1 source22 sCompleted⌄

    three.js buoyancy floating boat on waves apply force at point torque · javascript · strict

    Started
    Aug 7, 2026, 1:42:46 PM UTC
    Ended
    Aug 7, 2026, 1:43:08 PM UTC
    Outcome
    Result returned
    Targets
    1

    three.js Boat Buoyancy with Force-at-Point Torque

    import * as THREE from 'three';
    
    // Requires a THREE.Scene, THREE.Camera, and THREE.WebGLRenderer from your app.
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x87ceeb);
    
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.1, 1000);
    camera.position.set(8, 5, 10);
    camera.lookAt(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xbde9ff, 0x365060, 2));
    const sun = new THREE.DirectionalLight(0xffffff, 2);
    sun.position.set(5, 10, 5);
    scene.add(sun);
    
    const boat = new THREE.Group();
    boat.position.set(0, 1, 0);
    scene.add(boat);
    
    const hull = new THREE.Mesh(
      new THREE.BoxGeometry(4, 0.8, 1.8),
      new THREE.MeshStandardMaterial({ color: 0x8b4513 })
    );
    hull.scale.y = 0.7;
    boat.add(hull);
    
    const mast = new THREE.Mesh(
      new THREE.CylinderGeometry(0.06, 0.06, 3, 12),
      new THREE.MeshStandardMaterial({ color: 0xeeeeee })
    );
    mast.position.y = 1.5;
    boat.add(mast);
    
    const water = new THREE.Mesh(
      new THREE.PlaneGeometry(100, 100, 100, 100),
      new THREE.MeshStandardMaterial({ color: 0x187b9f, roughness: 0.25 })
    );
    water.rotation.x = -Math.PI / 2;
    scene.add(water);
    
    const density = 0.45;
    const mass = 8;
    const gravity = new THREE.Vector3(0, -9.81, 0);
    const velocity = new THREE.Vector3();
    const angularVelocity = new THREE.Vector3();
    const force = new THREE.Vector3();
    const torque = new THREE.Vector3();
    
    // Local-space hull probes. Each probe applies buoyancy at its own position.
    const probes = [
      new THREE.Vector3(-1.6, -0.25, -0.65),
      new THREE.Vector3(-1.6, -0.25,  0.65),
      new THREE.Vector3( 1.6, -0.25, -0.65),
      new THREE.Vector3( 1.6, -0.25,  0.65)
    ];
    
    const inverseInertia = new THREE.Vector3(1 / 10, 1 / 35, 1 / 10);
    const worldProbe = new THREE.Vector3();
    const waveNormal = new THREE.Vector3();
    const leverArm = new THREE.Vector3();
    const buoyancyForce = new THREE.Vector3();
    
    function waveHeight(x, z, time) {
      return (
        0.28 * Math.sin(x * 0.8 + time * 1.4) +
        0.16 * Math.sin(z * 1.3 + time * 1.9) +
        0.10 * Math.sin((x + z) * 1.7 + time * 2.3)
      );
    }
    
    function waveSlope(x, z, time) {
      const e = 0.01;
      const dx = (waveHeight(x + e, z, time) - waveHeight(x - e, z, time)) / (2 * e);
      const dz = (waveHeight(x, z + e, time) - waveHeight(x, z - e, time)) / (2 * e);
      return waveNormal.set(-dx, 1, -dz).normalize();
    }
    
    function applyForceAtPoint(forceToApply, pointWorld) {
      force.add(forceToApply);
      leverArm.subVectors(pointWorld, boat.position);
      torque.add(leverArm.cross(forceToApply));
    }
    
    function updateBoat(dt, time) {
      force.set(0, 0, 0);
      torque.set(0, 0, 0);
    
      // Gravity acts through the center of mass.
      applyForceAtPoint(force.copy(gravity).multiplyScalar(mass), boat.position);
      force.set(0, 0, 0); // gravity was already accumulated; preserve the accumulated torque/force below
      // Rebuild the force accumulator because applyForceAtPoint uses the same mutable vector.
      force.copy(gravity).multiplyScalar(mass);
    
      for (const localProbe of probes) {
        worldProbe.copy(localProbe).applyMatrix4(boat.matrixWorld);
        const surfaceY = waveHeight(worldProbe.x, worldProbe.z, time);
        const depth = surfaceY - worldProbe.y;
    
        if (depth > 0) {
          // Approximate displaced volume per probe and damp vertical motion.
          const displacedVolume = Math.min(depth, 0.8) * 0.7;
          const upwardForce = -gravity.y * mass * displacedVolume * density;
          const pointVelocity = velocity.clone().add(
            angularVelocity.clone().cross(worldProbe.clone().sub(boat.position))
          );
    
          buoyancyForce.copy(waveSlope(worldProbe.x, worldProbe.z, time))
            .multiplyScalar(upwardForce)
            .addScaledVector(pointVelocity, -1.8);
    
          // This off-center application creates the restoring torque that rocks the boat.
          applyForceAtPoint(buoyancyForce, worldProbe);
        }
      }
    
      // Water resistance and angular damping.
      force.addScaledVector(velocity, -1.2);
      torque.addScaledVector(angularVelocity, -2.5);
    
      velocity.addScaledVector(force, dt / mass);
      boat.position.addScaledVector(velocity, dt);
    
      const angularAcceleration = new THREE.Vector3(
        torque.x * inverseInertia.x,
        torque.y * inverseInertia.y,
        torque.z * inverseInertia.z
      );
      angularVelocity.addScaledVector(angularAcceleration, dt);
    
      const rotationStep = angularVelocity.clone().multiplyScalar(dt);
      boat.rotateX(rotationStep.x);
      boat.rotateY(rotationStep.y);
      boat.rotateZ(rotationStep.z);
    }
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      const dt = Math.min(clock.getDelta(), 0.033);
      const time = clock.elapsedTime;
    
      water.position.y = 0;
      updateBoat(dt, time);
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    1
    1. Dante83/a-waterREADME.md

      Relevant to three.js/A-Frame buoyancy on wave fields: it documents `buoyant` entities with a rigid solver that applies Archimedes force and righting torque, plus `buoyancy-hull` probe points for hull sampling (closest practical analogue to “apply force at point” torque), though it doesn’t show an explicit `applyForceAtPoint` API usage.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js buoyancy floating boat on waves apply force at point torque",
      "language": "javascript",
      "license_mode": "strict"
    }
  231. 231
    +29:20Code GrepCode navigationthree“powerPreference”129 msCompleted⌄

    powerPreference

    Started
    Aug 7, 2026, 1:43:15 PM UTC
    Ended
    Aug 7, 2026, 1:43:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 91,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L71-L91",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 71
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 389,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L369-L389",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 369
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3640,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3620-L3640",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3620
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "powerPreference",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 91,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L71-L91",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 71
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 389,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L369-L389",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 369
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3640,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3620-L3640",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3620
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  232. 232
    +29:20Code GrepCode navigationthree“this.readRenderTargetPixels = function”82 msCompleted⌄

    this.readRenderTargetPixels = function

    Started
    Aug 7, 2026, 1:43:15 PM UTC
    Ended
    Aug 7, 2026, 1:43:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3077,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3065-L3077",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3065
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "this.readRenderTargetPixels = function",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3077,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3065-L3077",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3065
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  233. 233
    +29:25Code GrepCode navigationthree“this.uniforms = {};”293 msCompleted⌄

    this.uniforms = {};

    Started
    Aug 7, 2026, 1:43:20 PM UTC
    Ended
    Aug 7, 2026, 1:43:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/materials/ShaderMaterial.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 123,
          "file_path": "src/materials/ShaderMaterial.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/ShaderMaterial.js#L103-L123",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 103
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/materials/ShaderMaterial.js"
        }
      ],
      "pattern": "this.uniforms = {};",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/materials/ShaderMaterial.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 123,
            "file_path": "src/materials/ShaderMaterial.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/ShaderMaterial.js#L103-L123",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 103
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  234. 234
    +1:41:00Get ExampleGenerated examplespring damper secondary motion for hair and cloth bones, semi-implicit Euler integration with stiffness and damping at fixed timestep, javascript2 sources41 sCompleted⌄

    spring damper secondary motion for hair and cloth bones, semi-implicit Euler integration with stiffness and damping at fixed timestep, javascript · javascript · strict

    Started
    Aug 7, 2026, 2:54:54 PM UTC
    Ended
    Aug 7, 2026, 2:55:35 PM UTC
    Outcome
    Result returned
    Targets
    2

    Fixed-Timestep Spring-Damper Secondary Motion for Hair and Cloth Bones

    // Spring-damper secondary motion using semi-implicit Euler integration.
    // The simulated point follows an animated bone's target position while its
    // velocity provides natural lag for hair or cloth-like bone chains.
    
    class Vec3 {
      constructor(x = 0, y = 0, z = 0) {
        this.x = x;
        this.y = y;
        this.z = z;
      }
    
      clone() {
        return new Vec3(this.x, this.y, this.z);
      }
    
      add(v) {
        this.x += v.x;
        this.y += v.y;
        this.z += v.z;
        return this;
      }
    
      sub(v) {
        this.x -= v.x;
        this.y -= v.y;
        this.z -= v.z;
        return this;
      }
    
      multiplyScalar(s) {
        this.x *= s;
        this.y *= s;
        this.z *= s;
        return this;
      }
    
      static subtract(a, b) {
        return new Vec3(a.x - b.x, a.y - b.y, a.z - b.z);
      }
    }
    
    function assertFinite(name, value) {
      if (!Number.isFinite(value)) {
        throw new TypeError(`${name} must be finite`);
      }
    }
    
    class SpringBone {
      constructor({
        position = new Vec3(),
        stiffness = 80,
        damping = 12,
        mass = 1,
        gravity = new Vec3(0, -9.81, 0),
      } = {}) {
        assertFinite("stiffness", stiffness);
        assertFinite("damping", damping);
        assertFinite("mass", mass);
    
        if (stiffness < 0 || damping < 0 || mass <= 0) {
          throw new RangeError("stiffness and damping must be non-negative; mass must be positive");
        }
    
        this.position = position.clone();
        this.velocity = new Vec3();
        this.stiffness = stiffness;
        this.damping = damping;
        this.mass = mass;
        this.gravity = gravity.clone();
      }
    
      // One semi-implicit Euler step:
      // velocity <- velocity + acceleration * dt
      // position <- position + velocity * dt
      step(target, dt) {
        assertFinite("dt", dt);
        if (dt <= 0) throw new RangeError("dt must be positive");
    
        const displacement = Vec3.subtract(target, this.position);
    
        // Fspring = k(target - position), Fdamping = -c * velocity.
        const force = displacement.multiplyScalar(this.stiffness)
          .add(this.velocity.clone().multiplyScalar(-this.damping))
          .add(this.gravity.clone().multiplyScalar(this.mass));
    
        const acceleration = force.multiplyScalar(1 / this.mass);
    
        // Semi-implicit Euler is more stable for spring systems than explicit Euler.
        this.velocity.add(acceleration.multiplyScalar(dt));
        this.position.add(this.velocity.clone().multiplyScalar(dt));
    
        return this.position;
      }
    }
    
    class SecondaryMotionSystem {
      constructor({ fixedDt = 1 / 120, maxSubsteps = 8 } = {}) {
        assertFinite("fixedDt", fixedDt);
        if (fixedDt <= 0 || maxSubsteps < 1) {
          throw new RangeError("fixedDt must be positive and maxSubsteps must be at least 1");
        }
    
        this.fixedDt = fixedDt;
        this.maxSubsteps = maxSubsteps;
        this.accumulator = 0;
      }
    
      update(frameDt, bones, getTarget) {
        assertFinite("frameDt", frameDt);
        this.accumulator += Math.min(frameDt, 0.25);
    
        let substeps = 0;
        while (this.accumulator >= this.fixedDt && substeps < this.maxSubsteps) {
          for (const bone of bones) {
            bone.step(getTarget(bone), this.fixedDt);
          }
          this.accumulator -= this.fixedDt;
          substeps += 1;
        }
    
        // Avoid a spiral of death after a long pause.
        if (substeps === this.maxSubsteps) {
          this.accumulator = 0;
        }
      }
    }
    
    // Minimal runnable example: an animated target drives a dangling hair/cloth bone.
    const bone = new SpringBone({
      position: new Vec3(0, 1, 0),
      stiffness: 110,
      damping: 15,
      mass: 0.15,
      gravity: new Vec3(0, -3, 0),
    });
    
    const simulation = new SecondaryMotionSystem({ fixedDt: 1 / 120 });
    let time = 0;
    
    for (let frame = 0; frame < 120; frame += 1) {
      const frameDt = 1 / 60;
      time += frameDt;
    
      // Replace this with the animated parent bone's world-space endpoint.
      const animatedTarget = new Vec3(
        Math.sin(time * 5) * 0.25,
        1,
        0,
      );
    
      simulation.update(frameDt, [bone], () => animatedTarget);
    
      console.log({
        time: time.toFixed(3),
        x: bone.position.x.toFixed(3),
        y: bone.position.y.toFixed(3),
        z: bone.position.z.toFixed(3),
      });
    }
    
    References
    2
    1. samchon/AutoMovie사물별 모션을 선언적 Profile로 (gait 파라미터셋 + binding) + driven 비선형 커플링

      Mentions spring stiffness/damping and discusses a semi/implicit-Euler-driven motion/Profile system in JavaScript/TS context, but it’s an issue/discussion about motion architecture rather than hair/cloth bone secondary motion implementation details.

      issueMIT
    2. rahil-algobear/SpeedRacersrc/vehicle/VehiclePhysics.js

      Concrete JavaScript vehicle physics implementation explicitly using semi-implicit Euler integration and includes stiffness/damping-related simulation (springy dynamics), but it’s not hair/cloth bones; still a strong match for the numerical integration + damping/stiffness pattern.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "spring damper secondary motion for hair and cloth bones, semi-implicit Euler integration with stiffness and damping at fixed timestep, javascript",
      "language": "javascript",
      "license_mode": "strict"
    }
  235. 235
    +1:41:22Code ReadCode navigationthree9.0 sCompleted⌄
    Started
    Aug 7, 2026, 2:55:17 PM UTC
    Ended
    Aug 7, 2026, 2:55:26 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 215,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 66,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 215,
          "file_path": "src/geometries/LatheGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L150-L215",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 150
        }
      ],
      "start_line": 150,
      "status": "success",
      "total_lines": 230
    }
    Request⌄

    Request payload

    {
      "end_line": 215,
      "file_path": "src/geometries/LatheGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 150,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 215,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 66,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 215,
            "file_path": "src/geometries/LatheGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L150-L215",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 150
          }
        ],
        "start_line": 150,
        "status": "success",
        "total_lines": 230
      },
      "title": null,
      "content": null
    }
  236. 236
    +1:42:05Code ReadCode navigationthree557 msCompleted⌄
    Started
    Aug 7, 2026, 2:56:00 PM UTC
    Ended
    Aug 7, 2026, 2:56:01 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 34,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 34,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 34,
          "file_path": "src/renderers/WebGLRenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderTarget.js#L1-L34",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 34
    }
    Request⌄

    Request payload

    {
      "end_line": 45,
      "file_path": "src/renderers/WebGLRenderTarget.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 34,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 34,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 34,
            "file_path": "src/renderers/WebGLRenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderTarget.js#L1-L34",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 34
      },
      "title": null,
      "content": null
    }
  237. 237
    +1:42:08Code GrepCode navigationthree“class Float32BufferAttribute extends BufferAttribute”281 msCompleted⌄

    class Float32BufferAttribute extends BufferAttribute

    Started
    Aug 7, 2026, 2:56:02 PM UTC
    Ended
    Aug 7, 2026, 2:56:03 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferAttribute.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1036,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L1016-L1036",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1016
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/BufferAttribute.js"
        }
      ],
      "pattern": "class Float32BufferAttribute extends BufferAttribute",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferAttribute.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1036,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L1016-L1036",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1016
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  238. 238
    +1:42:15Code ReadCode navigationthree165 msCompleted⌄
    Started
    Aug 7, 2026, 2:56:09 PM UTC
    Ended
    Aug 7, 2026, 2:56:09 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 245,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 28,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 245,
          "file_path": "examples/jsm/objects/Reflector.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Reflector.js#L218-L245",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 218
        }
      ],
      "start_line": 218,
      "status": "success",
      "total_lines": 385
    }
    Request⌄

    Request payload

    {
      "end_line": 245,
      "file_path": "examples/jsm/objects/Reflector.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 218,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 245,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 28,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 245,
            "file_path": "examples/jsm/objects/Reflector.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/objects/Reflector.js#L218-L245",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 218
          }
        ],
        "start_line": 218,
        "status": "success",
        "total_lines": 385
      },
      "title": null,
      "content": null
    }
  239. 239
    +1:42:15Get ExampleGenerated exampleJavaScript game enemy AI state machine class with states patrol chase attack cooldown timers and transitions2 sources19 sCompleted⌄

    JavaScript game enemy AI state machine class with states patrol chase attack cooldown timers and transitions · javascript · strict

    Started
    Aug 7, 2026, 2:56:09 PM UTC
    Ended
    Aug 7, 2026, 2:56:28 PM UTC
    Outcome
    Result returned
    Targets
    2

    JavaScript Enemy AI State Machine

    class EnemyAI {
      constructor({
        x = 0,
        y = 0,
        speed = 2,
        detectionRange = 10,
        attackRange = 1.5,
        attackDamage = 10,
        attackCooldown = 1.5,
        patrolPoints = []
      } = {}) {
        this.position = { x, y };
        this.speed = speed;
        this.detectionRange = detectionRange;
        this.attackRange = attackRange;
        this.attackDamage = attackDamage;
        this.attackCooldown = attackCooldown;
        this.lastAttackTime = -Infinity;
    
        this.state = "patrol";
        this.patrolPoints = patrolPoints;
        this.patrolIndex = 0;
        this.target = null;
      }
    
      update(deltaSeconds, player, nowSeconds = performance.now() / 1000) {
        if (!player || player.health <= 0) return;
    
        this.target = player;
        const distance = this.distanceTo(player);
    
        // State transitions are centralized and easy to extend.
        if (this.state === "patrol" && distance <= this.detectionRange) {
          this.changeState("chase");
        } else if (this.state === "chase" && distance <= this.attackRange) {
          this.changeState("attack");
        } else if (this.state === "attack" && distance > this.attackRange) {
          this.changeState("chase");
        } else if (this.state === "chase" && distance > this.detectionRange * 1.25) {
          this.changeState("patrol");
        }
    
        switch (this.state) {
          case "patrol":
            this.patrol(deltaSeconds);
            break;
          case "chase":
            this.chase(deltaSeconds);
            break;
          case "attack":
            this.attack(nowSeconds);
            break;
        }
      }
    
      changeState(nextState) {
        if (this.state === nextState) return;
        console.log(`Enemy: ${this.state} -> ${nextState}`);
        this.state = nextState;
      }
    
      patrol(deltaSeconds) {
        if (this.patrolPoints.length === 0) return;
    
        const destination = this.patrolPoints[this.patrolIndex];
        if (this.moveToward(destination, this.speed * 0.5 * deltaSeconds)) {
          this.patrolIndex = (this.patrolIndex + 1) % this.patrolPoints.length;
        }
      }
    
      chase(deltaSeconds) {
        this.moveToward(this.target, this.speed * deltaSeconds);
      }
    
      attack(nowSeconds) {
        if (!this.canAttack(nowSeconds)) return;
    
        this.target.health = Math.max(0, this.target.health - this.attackDamage);
        this.lastAttackTime = nowSeconds;
        console.log(`Enemy attacks for ${this.attackDamage} damage`);
      }
    
      canAttack(nowSeconds) {
        return nowSeconds - this.lastAttackTime >= this.attackCooldown;
      }
    
      moveToward(destination, distance) {
        const dx = destination.x - this.position.x;
        const dy = destination.y - this.position.y;
        const length = Math.hypot(dx, dy);
    
        if (length < 0.1) return true;
    
        const step = Math.min(distance, length);
        this.position.x += (dx / length) * step;
        this.position.y += (dy / length) * step;
        return length <= distance + 0.1;
      }
    
      distanceTo(target) {
        return Math.hypot(
          target.x - this.position.x,
          target.y - this.position.y
        );
      }
    }
    
    // Minimal usage example.
    const enemy = new EnemyAI({
      x: 0,
      y: 0,
      speed: 3,
      patrolPoints: [
        { x: 0, y: 0 },
        { x: 5, y: 0 },
        { x: 5, y: 5 }
      ]
    });
    
    const player = { x: 8, y: 0, health: 100 };
    let time = 0;
    
    for (let frame = 0; frame < 600 && player.health > 0; frame++) {
      const deltaSeconds = 1 / 60;
      time += deltaSeconds;
      enemy.update(deltaSeconds, player, time);
    }
    
    References
    2
    1. bwm0822/game_02src/components/ai/ai_tmp.js

      Implements a JavaScript AI framework with a state-machine concept plus cooldown/timer handling (`Cooldown`, `ready/set`) and behavior selection (attack/flee/patrol); it’s not a direct patrol→chase→attack FSM but contains the key cooldown + transition logic pieces.

      codeMIT
    2. BRUMILO/ARCH-DOOMjs/enemy.js

      Provides a JavaScript enemy AI with explicit finite state behavior (patrol/chase) plus an attack cooldown (`attackCooldown`, `lastAttack`, `canAttack`/`resetAttackCooldown`) and state transitions based on detection range.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "JavaScript game enemy AI state machine class with states patrol chase attack cooldown timers and transitions",
      "language": "javascript",
      "license_mode": "strict"
    }
  240. 240
    +1:42:33Code GrepCode navigationthree“lookAt( x, y, z )”3.4 sCompleted⌄

    lookAt( x, y, z )

    Started
    Aug 7, 2026, 2:56:27 PM UTC
    Ended
    Aug 7, 2026, 2:56:31 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 704,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L684-L704",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 684
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 2,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "lookAt( x, y, z )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 704,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L684-L704",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 684
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  241. 241
    +1:42:40Code GrepCode navigationthree“^\t(setFromCenterAndSize|expandByPoint|expandByScalar|containsPoint|makeEmpty|getCenter)\(”670 msCompleted⌄

    ^\t(setFromCenterAndSize|expandByPoint|expandByScalar|containsPoint|makeEmpty|getCenter)\(

    Started
    Aug 7, 2026, 2:56:35 PM UTC
    Ended
    Aug 7, 2026, 2:56:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Box3.js",
        "src/math/Box3.js",
        "src/math/Box3.js",
        "src/math/Box3.js",
        "src/math/Box3.js",
        "src/math/Box3.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 131,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L127-L131",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 127
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 196,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L192-L196",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 192
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 226,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L222-L226",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 222
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 250,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L246-L250",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 246
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 285,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L281-L285",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 281
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 395,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L391-L395",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 391
        }
      ],
      "returned_matches": 6,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Box3.js"
        }
      ],
      "pattern": "^\\t(setFromCenterAndSize|expandByPoint|expandByScalar|containsPoint|makeEmpty|getCenter)\\(",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Box3.js",
          "src/math/Box3.js",
          "src/math/Box3.js",
          "src/math/Box3.js",
          "src/math/Box3.js",
          "src/math/Box3.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 131,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L127-L131",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 127
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 196,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L192-L196",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 192
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 226,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L222-L226",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 222
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 250,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L246-L250",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 246
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 285,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L281-L285",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 281
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 395,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L391-L395",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 391
          }
        ],
        "returned_matches": 6,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  242. 242
    +1:43:11Code ReadCode navigationthree2.2 sCompleted⌄
    Started
    Aug 7, 2026, 2:57:05 PM UTC
    Ended
    Aug 7, 2026, 2:57:08 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 740,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 37,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 740,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L704-L740",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 704
        }
      ],
      "start_line": 704,
      "status": "success",
      "total_lines": 1677
    }
    Request⌄

    Request payload

    {
      "end_line": 740,
      "file_path": "src/core/Object3D.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 704,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 740,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 37,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 740,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L704-L740",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 704
          }
        ],
        "start_line": 704,
        "status": "success",
        "total_lines": 1677
      },
      "title": null,
      "content": null
    }
  243. 243
    +1:43:19Get ExampleGenerated examplethird person game camera rig lock-on target framing over the shoulder with orbit yaw pitch and screen shake in three.js3 sources37 sCompleted⌄

    third person game camera rig lock-on target framing over the shoulder with orbit yaw pitch and screen shake in three.js · javascript · strict

    Started
    Aug 7, 2026, 2:57:13 PM UTC
    Ended
    Aug 7, 2026, 2:57:51 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Third-Person Lock-On Camera Rig

    import * as THREE from 'three';
    
    // Assumes a browser module with Three.js available as the "three" package.
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x18202b);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xbfd8ff, 0x202020, 2));
    const sun = new THREE.DirectionalLight(0xffffff, 3);
    sun.position.set(4, 8, 5);
    scene.add(sun);
    
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.05, 100);
    scene.add(camera);
    
    const player = new THREE.Mesh(
      new THREE.CapsuleGeometry(0.35, 1.1, 8, 16),
      new THREE.MeshStandardMaterial({ color: 0x3d8cff })
    );
    player.position.set(0, 0.9, 0);
    scene.add(player);
    
    const target = new THREE.Mesh(
      new THREE.SphereGeometry(0.45, 20, 12),
      new THREE.MeshStandardMaterial({ color: 0xff624f })
    );
    target.position.set(3, 0.45, -4);
    scene.add(target);
    
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(50, 50),
      new THREE.MeshStandardMaterial({ color: 0x35424a })
    );
    ground.rotation.x = -Math.PI / 2;
    scene.add(ground);
    
    const cameraRig = new ThirdPersonCamera({
      camera,
      player,
      target,
      shoulder: 0.85,
      distance: 5.5,
      height: 1.7,
    });
    
    class ThirdPersonCamera {
      constructor({ camera, player, target, shoulder = 0.8, distance = 5, height = 1.5 }) {
        this.camera = camera;
        this.player = player;
        this.target = target;
    
        this.shoulder = shoulder;
        this.distance = distance;
        this.height = height;
        this.minDistance = 2.2;
        this.maxDistance = 8;
        this.minPitch = -0.55;
        this.maxPitch = 1.05;
    
        this.yaw = 0;
        this.pitch = 0.22;
        this.locked = true;
        this.position = camera.position.clone();
        this.lookAt = new THREE.Vector3();
        this.currentTarget = new THREE.Vector3();
        this.desiredTarget = new THREE.Vector3();
        this.offset = new THREE.Vector3();
    
        this.shake = { time: 0, duration: 0, amplitude: 0 };
        this.tmp = new THREE.Vector3();
        this.tmp2 = new THREE.Vector3();
      }
    
      setLockOn(target) {
        this.target = target;
        this.locked = Boolean(target);
      }
    
      addShake(amplitude = 0.12, duration = 0.2) {
        this.shake.amplitude = Math.max(this.shake.amplitude, amplitude);
        this.shake.duration = Math.max(this.shake.duration, duration);
        this.shake.time = Math.max(this.shake.time, duration);
      }
    
      orbit(deltaYaw, deltaPitch) {
        if (this.locked) return;
        this.yaw += deltaYaw;
        this.pitch = THREE.MathUtils.clamp(
          this.pitch + deltaPitch,
          this.minPitch,
          this.maxPitch,
        );
      }
    
      update(deltaSeconds) {
        const dt = Math.min(deltaSeconds, 0.05);
        const playerPosition = this.player.getWorldPosition(this.tmp);
    
        // During lock-on, yaw and pitch are solved from the player-to-target vector.
        if (this.locked && this.target) {
          const targetPosition = this.target.getWorldPosition(this.tmp2);
          const dx = targetPosition.x - playerPosition.x;
          const dz = targetPosition.z - playerPosition.z;
          const horizontalDistance = Math.max(Math.hypot(dx, dz), 0.001);
    
          const desiredYaw = Math.atan2(dx, dz);
          const desiredPitch = Math.atan2(
            targetPosition.y - (playerPosition.y + this.height * 0.55),
            horizontalDistance,
          );
    
          this.yaw = dampAngle(this.yaw, desiredYaw, 12, dt);
          this.pitch = damp(this.pitch, desiredPitch, 10, dt);
        }
    
        // Camera position: behind the player, raised, and shifted to the shoulder.
        const horizontal = Math.cos(this.pitch) * this.distance;
        this.offset.set(
          Math.sin(this.yaw) * horizontal,
          Math.sin(this.pitch) * this.distance + this.height,
          Math.cos(this.yaw) * horizontal,
        );
    
        const backward = this.offset.clone().setY(0).normalize();
        const right = new THREE.Vector3(-backward.z, 0, backward.x);
        this.desiredTarget.copy(playerPosition).add(new THREE.Vector3(0, 1.15, 0));
    
        const desiredPosition = playerPosition.clone().add(this.offset);
        desiredPosition.addScaledVector(right, this.shoulder);
    
        // Exponential smoothing makes the rig follow without frame-rate dependence.
        this.position.lerp(desiredPosition, 1 - Math.exp(-14 * dt));
        this.currentTarget.lerp(this.desiredTarget, 1 - Math.exp(-16 * dt));
    
        this.camera.position.copy(this.position);
        this.camera.lookAt(this.currentTarget);
    
        this.updateShake(dt);
      }
    
      updateShake(dt) {
        if (this.shake.time <= 0) {
          this.camera.rotation.z = damp(this.camera.rotation.z, 0, 18, dt);
          return;
        }
    
        this.shake.time -= dt;
        const life = Math.max(this.shake.time / this.shake.duration, 0);
        const amplitude = this.shake.amplitude * life * life;
        const t = (this.shake.duration - this.shake.time) * 32;
    
        // Deterministic layered oscillation avoids allocating random values per frame.
        const pitchShake = (Math.sin(t * 1.7) + 0.45 * Math.sin(t * 4.1)) * amplitude;
        const yawShake = (Math.sin(t * 2.3 + 1.4) + 0.35 * Math.sin(t * 6.2)) * amplitude;
        const rollShake = (Math.sin(t * 2.9 + 2.1) + 0.3 * Math.sin(t * 7.1)) * amplitude;
    
        this.camera.rotation.x += pitchShake;
        this.camera.rotation.y += yawShake * 0.65;
        this.camera.rotation.z += rollShake * 0.8;
    
        if (this.shake.time <= 0) this.shake.amplitude = 0;
      }
    }
    
    function damp(current, target, sharpness, dt) {
      return THREE.MathUtils.lerp(current, target, 1 - Math.exp(-sharpness * dt));
    }
    
    function dampAngle(current, target, sharpness, dt) {
      const difference = THREE.MathUtils.euclideanModulo(target - current + Math.PI, Math.PI * 2) - Math.PI;
      return current + difference * (1 - Math.exp(-sharpness * dt));
    }
    
    const keys = new Set();
    addEventListener('keydown', (event) => {
      keys.add(event.code);
      if (event.code === 'KeyL') cameraRig.setLockOn(cameraRig.locked ? null : target);
      if (event.code === 'Space') cameraRig.addShake(0.18, 0.28);
    });
    addEventListener('keyup', (event) => keys.delete(event.code));
    
    let dragging = false;
    let lastPointer = { x: 0, y: 0 };
    renderer.domElement.addEventListener('pointerdown', (event) => {
      dragging = true;
      lastPointer = { x: event.clientX, y: event.clientY };
      renderer.domElement.setPointerCapture(event.pointerId);
    });
    renderer.domElement.addEventListener('pointermove', (event) => {
      if (!dragging || cameraRig.locked) return;
      const dx = event.clientX - lastPointer.x;
      const dy = event.clientY - lastPointer.y;
      cameraRig.orbit(-dx * 0.006, -dy * 0.006);
      lastPointer = { x: event.clientX, y: event.clientY };
    });
    renderer.domElement.addEventListener('pointerup', () => { dragging = false; });
    renderer.domElement.addEventListener('wheel', (event) => {
      cameraRig.distance = THREE.MathUtils.clamp(
        cameraRig.distance + event.deltaY * 0.005,
        cameraRig.minDistance,
        cameraRig.maxDistance,
      );
    });
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      const dt = clock.getDelta();
    
      const movement = new THREE.Vector3(
        (keys.has('KeyD') ? 1 : 0) - (keys.has('KeyA') ? 1 : 0),
        0,
        (keys.has('KeyS') ? 1 : 0) - (keys.has('KeyW') ? 1 : 0),
      );
      if (movement.lengthSq() > 0) {
        movement.normalize().multiplyScalar(3 * dt);
        player.position.add(movement);
      }
    
      cameraRig.update(dt);
      renderer.render(scene, camera);
    }
    animate();
    
    References
    3
    1. kevinyhe/eureka-hacks-2026js/main.js

      Relevant Three.js third-person over-the-shoulder/target framing via camera position + lookAt, plus procedural screen/camera shake integration; does not use OrbitControls lock-on yaw/pitch explicitly, but includes the core lock-on-style targeting math and shake behavior.

      codeMIT
    2. atul-mourya/rayzee-rendererrayzee/src/managers/CameraManager.js

      Production-quality Three.js + OrbitControls camera manager implementation that supports orbit-target framing, camera switching, and per-frame focus logic (auto-focus raycasting), aligning with the lock-on/orbit-target part of an over-the-shoulder rig; does not explicitly cover the requested yaw/pitch lock-on mechanics or screen-shake implementation.

      codeMIT
    3. rahil-algobear/SpeedRacersrc/game/CameraRig.js

      High-quality three.js third-person camera rig code (CameraRig.js) implementing orbit-style framing, over-the-shoulder/chase modes, explicit yaw/pitch/look direction (gaze), and a speed/surface-based screen shake system.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "third person game camera rig lock-on target framing over the shoulder with orbit yaw pitch and screen shake in three.js",
      "language": "javascript",
      "license_mode": "strict"
    }
  244. 244
    +1:45:26Code GrepCode navigationthree“begin_vertex”185 msCompleted⌄

    begin_vertex

    Started
    Aug 7, 2026, 2:59:20 PM UTC
    Ended
    Aug 7, 2026, 2:59:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 44,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L36-L44",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 36
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js"
        }
      ],
      "pattern": "begin_vertex",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 44,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L36-L44",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 36
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  245. 245
    +1:45:27Code GrepCode navigationthree“gl_FragColor = vec4( packNormalToRGB”186 msNo result⌄

    gl_FragColor = vec4( packNormalToRGB

    Started
    Aug 7, 2026, 2:59:22 PM UTC
    Ended
    Aug 7, 2026, 2:59:22 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js"
        }
      ],
      "pattern": "gl_FragColor = vec4( packNormalToRGB",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  246. 246
    +1:45:37Get ExampleGenerated examplejavascript game state machine scene manager title pause gameplay transitions2 sources34 sCompleted⌄

    javascript game state machine scene manager title pause gameplay transitions · javascript · strict

    Started
    Aug 7, 2026, 2:59:32 PM UTC
    Ended
    Aug 7, 2026, 3:00:06 PM UTC
    Outcome
    Result returned
    Targets
    2

    JavaScript Game Scene Manager with Title, Gameplay, Pause, and Win States

    // Save as game.js and load it from an HTML page with a <script src="game.js"></script> tag.
    
    class SceneManager {
      constructor({ canvas, context }) {
        this.canvas = canvas;
        this.context = context;
        this.scenes = new Map();
        this.current = null;
        this.lastTime = 0;
      }
    
      add(name, scene) {
        this.scenes.set(name, scene);
        scene.manager = this;
        return this;
      }
    
      change(name, data = {}) {
        const next = this.scenes.get(name);
        if (!next) throw new Error(`Unknown scene: ${name}`);
    
        this.current?.exit?.();
        this.current = next;
        this.current.enter?.(data);
      }
    
      update(deltaTime) {
        this.current?.update?.(deltaTime);
      }
    
      render() {
        this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
        this.current?.render?.(this.context);
      }
    
      start(initialScene) {
        this.change(initialScene);
        requestAnimationFrame((time) => this.loop(time));
      }
    
      loop(time) {
        const deltaTime = Math.min((time - this.lastTime) / 1000, 0.1);
        this.lastTime = time;
        this.update(deltaTime);
        this.render();
        requestAnimationFrame((nextTime) => this.loop(nextTime));
      }
    }
    
    class Scene {
      enter() {}
      exit() {}
      update() {}
      render() {}
    }
    
    class TitleScene extends Scene {
      enter() {
        this.manager.canvas.style.cursor = "default";
      }
    
      update() {
        if (Input.wasPressed("Enter") || Input.wasPressed("Space")) {
          this.manager.change("gameplay", { score: 0 });
        }
      }
    
      render(context) {
        drawBackground(context, "#10152b");
        drawCenteredText(context, "NEON ASCENT", 120, 48, "#67e8f9");
        drawCenteredText(context, "Press Enter or Space to start", 190, 20, "#e5e7eb");
      }
    }
    
    class GameplayScene extends Scene {
      enter({ score = 0 } = {}) {
        this.score = score;
        this.player = { x: 150, y: 180, speed: 180 };
      }
    
      update(deltaTime) {
        if (Input.wasPressed("Escape")) {
          this.manager.change("pause", { gameplay: this });
          return;
        }
    
        if (Input.wasPressed("KeyW") || Input.wasPressed("ArrowUp")) {
          this.score += 10;
        }
    
        const direction =
          Number(Input.isDown("ArrowRight") || Input.isDown("KeyD")) -
          Number(Input.isDown("ArrowLeft") || Input.isDown("KeyA"));
    
        this.player.x += direction * this.player.speed * deltaTime;
        this.player.x = Math.max(20, Math.min(280, this.player.x));
    
        if (this.score >= 50) {
          this.manager.change("win", { score: this.score });
        }
      }
    
      render(context) {
        drawBackground(context, "#07151d");
        context.fillStyle = "#243b53";
        context.fillRect(0, 220, 320, 20);
    
        context.fillStyle = "#f472b6";
        context.fillRect(this.player.x, this.player.y, 20, 20);
    
        context.fillStyle = "#e5e7eb";
        context.font = "14px monospace";
        context.fillText(`Score: ${this.score}`, 12, 22);
        context.fillText("Escape: pause | Arrow keys/WASD: move", 12, 42);
      }
    }
    
    class PauseScene extends Scene {
      enter({ gameplay }) {
        this.gameplay = gameplay;
      }
    
      update() {
        if (Input.wasPressed("Escape") || Input.wasPressed("Enter")) {
          this.manager.change("gameplay");
        } else if (Input.wasPressed("KeyR")) {
          this.manager.change("gameplay", { score: 0 });
        } else if (Input.wasPressed("KeyQ")) {
          this.manager.change("title");
        }
      }
    
      render(context) {
        this.gameplay.render(context);
        context.fillStyle = "rgba(0, 0, 0, 0.72)";
        context.fillRect(0, 0, 320, 240);
        drawCenteredText(context, "PAUSED", 90, 32, "#fbbf24");
        drawCenteredText(context, "Enter/Esc: Resume", 140, 16, "#fff");
        drawCenteredText(context, "R: Restart   Q: Title", 170, 16, "#fff");
      }
    }
    
    class WinScene extends Scene {
      enter({ score }) {
        this.score = score;
      }
    
      update() {
        if (Input.wasPressed("Enter") || Input.wasPressed("Space")) {
          this.manager.change("gameplay", { score: 0 });
        } else if (Input.wasPressed("Escape")) {
          this.manager.change("title");
        }
      }
    
      render(context) {
        drawBackground(context, "#10251b");
        drawCenteredText(context, "YOU WIN", 105, 40, "#4ade80");
        drawCenteredText(context, `Final score: ${this.score}`, 150, 18, "#fff");
        drawCenteredText(context, "Enter: Restart | Escape: Title", 190, 16, "#d1d5db");
      }
    }
    
    const Input = {
      down: new Set(),
      pressed: new Set(),
    
      isDown(key) {
        return this.down.has(key);
      },
    
      wasPressed(key) {
        return this.pressed.has(key);
      },
    
      endFrame() {
        this.pressed.clear();
      }
    };
    
    document.addEventListener("keydown", (event) => {
      if (!Input.down.has(event.code)) Input.pressed.add(event.code);
      Input.down.add(event.code);
      if (["Space", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(event.code)) {
        event.preventDefault();
      }
    });
    
    document.addEventListener("keyup", (event) => Input.down.delete(event.code));
    
    function drawBackground(context, color) {
      context.fillStyle = color;
      context.fillRect(0, 0, 320, 240);
    }
    
    function drawCenteredText(context, text, y, size, color) {
      context.fillStyle = color;
      context.font = `${size}px monospace`;
      context.textAlign = "center";
      context.fillText(text, 160, y);
      context.textAlign = "left";
    }
    
    const canvas = document.createElement("canvas");
    canvas.width = 320;
    canvas.height = 240;
    canvas.style.width = "640px";
    canvas.style.imageRendering = "pixelated";
    document.body.style.margin = "0";
    document.body.style.background = "#000";
    document.body.append(canvas);
    
    const context = canvas.getContext("2d");
    const manager = new SceneManager({ canvas, context });
    manager
      .add("title", new TitleScene())
      .add("gameplay", new GameplayScene())
      .add("pause", new PauseScene())
      .add("win", new WinScene());
    
    // Clear one-frame input after each rendered frame.
    const originalRender = manager.render.bind(manager);
    manager.render = () => {
      originalRender();
      Input.endFrame();
    };
    
    manager.start("title");
    
    References
    2
    1. chicaron82/VN-Projectv1/system/game-engine.js

      JavaScript game engine code that directly implements core game loop and state/scene management, including transition handling and pause-related UI/state orchestration (ESC/pause/skip controls). While the specific 'scene manager' term isn't guaranteed, it is a strong, directly applicable scene/state architecture example.

      codeMIT
    2. decagondev/platformRPRD: Neon Ascent — 2D Precision Platformer MVP

      Game design doc specifically describing a scene manager as a state machine with explicit Title/Game/Win scenes and Pause as a sub-state, plus clear “state” and “scene transitions” architecture for a JavaScript web game.

      issueMIT
    Request⌄

    Request payload

    {
      "query": "javascript game state machine scene manager title pause gameplay transitions",
      "language": "javascript",
      "license_mode": "strict"
    }
  247. 247
    +1:45:43Code GrepCode navigationthree“gl_FragColor”167 msCompleted⌄

    gl_FragColor

    Started
    Aug 7, 2026, 2:59:37 PM UTC
    Ended
    Aug 7, 2026, 2:59:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
        "src/renderers/shaders/ShaderLib/meshnormal.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 82,
          "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L72-L82",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 72
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 86,
          "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L76-L86",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 76
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js"
        }
      ],
      "pattern": "gl_FragColor",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "src/renderers/shaders/ShaderLib/meshnormal.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 82,
            "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L72-L82",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 72
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 86,
            "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L76-L86",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 76
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  248. 248
    +1:50:01PKG InfoPackage intelligencepkg:npm:simplex-noise129 msCompleted⌄
    Started
    Aug 7, 2026, 3:03:56 PM UTC
    Ended
    Aug 7, 2026, 3:03:56 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:simplex-noise

    Result summary

    {
      "outcome": "result_returned",
      "packages": [
        "npm:simplex-noise"
      ],
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "name": "simplex-noise",
      "registry": "npm"
    }
    Response⌄

    Response payload

    {
      "summary": {
        "outcome": "result_returned",
        "packages": [
          "npm:simplex-noise"
        ],
        "status": "success"
      },
      "title": null,
      "content": null
    }
  249. 249
    +1:50:07Code GrepCode navigationthree“function mergeGeometries”170 msCompleted⌄

    function mergeGeometries

    Started
    Aug 7, 2026, 3:04:02 PM UTC
    Ended
    Aug 7, 2026, 3:04:02 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 143,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L123-L143",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 123
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "function mergeGeometries",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 143,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L123-L143",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 123
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  250. 250
    +1:50:09Code GrepCode navigationthree“"./addons/*"”723 msCompleted⌄

    "./addons/*"

    Started
    Aug 7, 2026, 3:04:03 PM UTC
    Ended
    Aug 7, 2026, 3:04:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "package.json"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 22,
          "file_path": "package.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L10-L22",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 10
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "\"./addons/*\"",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "package.json"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 22,
            "file_path": "package.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/package.json#L10-L22",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 10
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  251. 251
    +1:50:16Code GrepCode navigationthree“setIndex( index )”130 msCompleted⌄

    setIndex( index )

    Started
    Aug 7, 2026, 3:04:11 PM UTC
    Ended
    Aug 7, 2026, 3:04:11 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 240,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L220-L240",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 220
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "setIndex( index )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 240,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L220-L240",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 220
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  252. 252
    +1:50:20Code GrepCode navigationthree-mesh-bvh“function computeBoundsTree”3.1 sCompleted⌄

    function computeBoundsTree

    Started
    Aug 7, 2026, 3:04:15 PM UTC
    Ended
    Aug 7, 2026, 3:04:18 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/index.d.ts",
        "src/utils/ExtensionUtilities.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 323,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L303-L323",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 303
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 186,
          "file_path": "src/utils/ExtensionUtilities.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L166-L186",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 166
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "function computeBoundsTree",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/index.d.ts",
          "src/utils/ExtensionUtilities.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 323,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L303-L323",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 303
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 186,
            "file_path": "src/utils/ExtensionUtilities.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/utils/ExtensionUtilities.js#L166-L186",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 166
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  253. 253
    +1:50:28Code GrepCode navigationthree-mesh-bvh“constructor( geometry, options”891 msCompleted⌄

    constructor( geometry, options

    Started
    Aug 7, 2026, 3:04:22 PM UTC
    Ended
    Aug 7, 2026, 3:04:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/GeometryBVH.js",
        "src/core/LineBVH.js",
        "src/core/MeshBVH.js",
        "test/ShapeCasts.test.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 103,
          "file_path": "src/core/GeometryBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/GeometryBVH.js#L83-L103",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 83
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 230,
          "file_path": "src/core/LineBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L210-L230",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 210
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 263,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L243-L263",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 243
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 58,
          "file_path": "test/ShapeCasts.test.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/test/ShapeCasts.test.js#L38-L58",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 38
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "constructor( geometry, options",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/GeometryBVH.js",
          "src/core/LineBVH.js",
          "src/core/MeshBVH.js",
          "test/ShapeCasts.test.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 103,
            "file_path": "src/core/GeometryBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/GeometryBVH.js#L83-L103",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 83
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 230,
            "file_path": "src/core/LineBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L210-L230",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 210
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 263,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L243-L263",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 243
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 58,
            "file_path": "test/ShapeCasts.test.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/test/ShapeCasts.test.js#L38-L58",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 38
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  254. 254
    +1:50:29Get ExampleGenerated examplethree.js procedural heightfield terrain BufferGeometry with per-vertex colors and analytic normals from height grid1 source29 sCompleted⌄

    three.js procedural heightfield terrain BufferGeometry with per-vertex colors and analytic normals from height grid · javascript · strict

    Started
    Aug 7, 2026, 3:04:24 PM UTC
    Ended
    Aug 7, 2026, 3:04:53 PM UTC
    Outcome
    Result returned
    Targets
    1

    Three.js Heightfield BufferGeometry with Analytic Normals

    import * as THREE from 'three';
    
    const GRID_SIZE = 160;
    const WORLD_SIZE = 40;
    const VERTEX_COUNT = GRID_SIZE + 1;
    const CELL_SIZE = WORLD_SIZE / GRID_SIZE;
    
    function heightAt(x, z) {
      const broad = Math.sin(x * 0.28) * 1.8;
      const ridges = Math.cos(z * 0.22 + x * 0.12) * 1.2;
      const detail =
        Math.sin(x * 1.7 + z * 0.4) * 0.18 +
        Math.cos(z * 1.9 - x * 0.3) * 0.14;
    
      return broad + ridges + detail;
    }
    
    function createTerrain() {
      const vertexTotal = VERTEX_COUNT * VERTEX_COUNT;
      const positions = new Float32Array(vertexTotal * 3);
      const normals = new Float32Array(vertexTotal * 3);
      const colors = new Float32Array(vertexTotal * 3);
      const indices = new Uint32Array(GRID_SIZE * GRID_SIZE * 6);
    
      let minHeight = Infinity;
      let maxHeight = -Infinity;
    
      // Build the height grid once so both positions and analytic normals use it.
      const heights = Array.from({ length: VERTEX_COUNT }, () =>
        new Float32Array(VERTEX_COUNT),
      );
    
      for (let z = 0; z < VERTEX_COUNT; z++) {
        for (let x = 0; x < VERTEX_COUNT; x++) {
          const worldX = x * CELL_SIZE - WORLD_SIZE / 2;
          const worldZ = z * CELL_SIZE - WORLD_SIZE / 2;
          const h = heightAt(worldX, worldZ);
    
          heights[z][x] = h;
          minHeight = Math.min(minHeight, h);
          maxHeight = Math.max(maxHeight, h);
        }
      }
    
      for (let z = 0; z < VERTEX_COUNT; z++) {
        for (let x = 0; x < VERTEX_COUNT; x++) {
          const vertex = z * VERTEX_COUNT + x;
          const positionOffset = vertex * 3;
          const h = heights[z][x];
          const worldX = x * CELL_SIZE - WORLD_SIZE / 2;
          const worldZ = z * CELL_SIZE - WORLD_SIZE / 2;
    
          positions[positionOffset] = worldX;
          positions[positionOffset + 1] = h;
          positions[positionOffset + 2] = worldZ;
    
          // Central differences approximate dh/dx and dh/dz from the sampled grid.
          // Clamping makes the boundary use a one-sided difference naturally.
          const left = heights[z][Math.max(0, x - 1)];
          const right = heights[z][Math.min(GRID_SIZE, x + 1)];
          const down = heights[Math.max(0, z - 1)][x];
          const up = heights[Math.min(GRID_SIZE, z + 1)][x];
    
          const dxDenominator = x === 0 || x === GRID_SIZE ? CELL_SIZE : 2 * CELL_SIZE;
          const dzDenominator = z === 0 || z === GRID_SIZE ? CELL_SIZE : 2 * CELL_SIZE;
          const dhdx = (right - left) / dxDenominator;
          const dhdz = (up - down) / dzDenominator;
    
          // For p(x,z) = (x, h(x,z), z), the upward normal is (-dh/dx, 1, -dh/dz).
          const normal = new THREE.Vector3(-dhdx, 1, -dhdz).normalize();
          normals[positionOffset] = normal.x;
          normals[positionOffset + 1] = normal.y;
          normals[positionOffset + 2] = normal.z;
    
          const height01 = (h - minHeight) / (maxHeight - minHeight);
          const slope = 1 - normal.y;
          const color = new THREE.Color();
    
          if (height01 < 0.42) {
            color.setRGB(0.10, 0.28, 0.12); // lowland
          } else if (height01 < 0.72) {
            color.setRGB(0.35, 0.46, 0.16); // grass
          } else {
            color.setRGB(0.55, 0.52, 0.42); // highland
          }
    
          // Darken steep faces while retaining the height-based palette.
          color.multiplyScalar(THREE.MathUtils.lerp(1, 0.68, slope));
          colors[positionOffset] = color.r;
          colors[positionOffset + 1] = color.g;
          colors[positionOffset + 2] = color.b;
        }
      }
    
      let index = 0;
      for (let z = 0; z < GRID_SIZE; z++) {
        for (let x = 0; x < GRID_SIZE; x++) {
          const a = z * VERTEX_COUNT + x;
          const b = a + 1;
          const c = a + VERTEX_COUNT;
          const d = c + 1;
    
          indices[index++] = a;
          indices[index++] = c;
          indices[index++] = b;
          indices[index++] = b;
          indices[index++] = c;
          indices[index++] = d;
        }
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.BufferAttribute(positions, 3));
      geometry.setAttribute('normal', new THREE.BufferAttribute(normals, 3));
      geometry.setAttribute('color', new THREE.BufferAttribute(colors, 3));
      geometry.setIndex(new THREE.BufferAttribute(indices, 1));
      geometry.computeBoundingSphere();
    
      const material = new THREE.MeshStandardMaterial({
        vertexColors: true,
        roughness: 0.92,
        metalness: 0,
        side: THREE.DoubleSide,
      });
    
      return new THREE.Mesh(geometry, material);
    }
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9fc4df);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 200);
    camera.position.set(28, 25, 28);
    camera.lookAt(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xb9d8ff, 0x39452b, 2.2));
    const sun = new THREE.DirectionalLight(0xfff1d2, 3.2);
    sun.position.set(-18, 35, 12);
    scene.add(sun);
    scene.add(createTerrain());
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    function animate() {
      requestAnimationFrame(animate);
      renderer.render(scene, camera);
    }
    
    animate();
    
    References
    1
    1. kaolti/monolith-terrainsrc/terrain.js

      Strong Three.js terrain heightfield implementation using BufferGeometry, CPU-sampled height grid, per-vertex colors, and computed vertex normals (computeVertexNormals) on the generated geometry; while normals are not explicitly “analytic from finite differences,” it matches the core pipeline for procedural heightfield terrain with per-vertex colors and correct normal vectors.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js procedural heightfield terrain BufferGeometry with per-vertex colors and analytic normals from height grid",
      "language": "javascript",
      "license_mode": "strict"
    }
  255. 255
    +1:50:41Code GrepCode navigationthree“setPixelRatio”100 msCompleted⌄

    setPixelRatio

    Started
    Aug 7, 2026, 3:04:36 PM UTC
    Ended
    Aug 7, 2026, 3:04:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 636,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L620-L636",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 620
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "setPixelRatio",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 636,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L620-L636",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 620
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  256. 256
    +1:50:42Code GrepCode navigationthree“set( channel )”197 msNo result⌄

    set( channel )

    Started
    Aug 7, 2026, 3:04:36 PM UTC
    Ended
    Aug 7, 2026, 3:04:37 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Layers.js"
        }
      ],
      "pattern": "set( channel )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  257. 257
    +1:50:46Code ReadCode navigationthree191 msCompleted⌄
    Started
    Aug 7, 2026, 3:04:40 PM UTC
    Ended
    Aug 7, 2026, 3:04:41 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 90,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 90,
          "file_path": "src/core/Layers.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L30-L90",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 30
        }
      ],
      "start_line": 30,
      "status": "success",
      "total_lines": 121
    }
    Request⌄

    Request payload

    {
      "end_line": 90,
      "file_path": "src/core/Layers.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 30,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 90,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 90,
            "file_path": "src/core/Layers.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L30-L90",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 30
          }
        ],
        "start_line": 30,
        "status": "success",
        "total_lines": 121
      },
      "title": null,
      "content": null
    }
  258. 258
    +1:50:49Code GrepCode navigationthree“class Fog”2.1 sCompleted⌄

    class Fog

    Started
    Aug 7, 2026, 3:04:44 PM UTC
    Ended
    Aug 7, 2026, 3:04:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/scenes/Fog.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 22,
          "file_path": "src/scenes/Fog.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/scenes/Fog.js#L2-L22",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/scenes/Fog.js"
        }
      ],
      "pattern": "class Fog",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/scenes/Fog.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 22,
            "file_path": "src/scenes/Fog.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/scenes/Fog.js#L2-L22",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  259. 259
    +1:51:12Code GrepCode navigationthree“customProgramCacheKey”196 msCompleted⌄

    customProgramCacheKey

    Started
    Aug 7, 2026, 3:05:07 PM UTC
    Ended
    Aug 7, 2026, 3:05:07 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 390,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L374-L390",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 374
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 390,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L374-L390",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 374
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 440,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L424-L440",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 424
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLPrograms.js"
        }
      ],
      "pattern": "customProgramCacheKey",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 390,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L374-L390",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 374
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 390,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L374-L390",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 374
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 440,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L424-L440",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 424
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  260. 260
    +1:53:12Code GrepCode navigationthree“uniform vec3 cameraPosition;”210 msCompleted⌄

    uniform vec3 cameraPosition;

    Started
    Aug 7, 2026, 3:07:06 PM UTC
    Ended
    Aug 7, 2026, 3:07:07 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 610,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L594-L610",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 594
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 776,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L760-L776",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 760
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "uniform vec3 cameraPosition;",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 610,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L594-L610",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 594
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 776,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L760-L776",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 760
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  261. 261
    +1:53:36Code GrepCode navigationthree“class Float32BufferAttribute”2.4 sCompleted⌄

    class Float32BufferAttribute

    Started
    Aug 7, 2026, 3:07:31 PM UTC
    Ended
    Aug 7, 2026, 3:07:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.core.js",
        "src/core/BufferAttribute.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 17742,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L17726-L17742",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 17726
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 17762,
          "file_path": "build/three.core.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L17746-L17762",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 17746
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1034,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L1018-L1034",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1018
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "class Float32BufferAttribute",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.core.js",
          "src/core/BufferAttribute.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 17742,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L17726-L17742",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 17726
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 17762,
            "file_path": "build/three.core.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L17746-L17762",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 17746
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1034,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L1018-L1034",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1018
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  262. 262
    +1:53:37Code GrepCode navigationthree“computeVertexNormals() {”202 msCompleted⌄

    computeVertexNormals() {

    Started
    Aug 7, 2026, 3:07:31 PM UTC
    Ended
    Aug 7, 2026, 3:07:31 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1015,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L995-L1015",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 995
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "computeVertexNormals() {",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1015,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L995-L1015",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 995
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  263. 263
    +1:55:52Get ExampleGenerated exampleWeb Audio API lookahead scheduler setTimeout currentTime note scheduling sequencer2 sources33 sCompleted⌄

    Web Audio API lookahead scheduler setTimeout currentTime note scheduling sequencer · javascript · strict

    Started
    Aug 7, 2026, 3:09:46 PM UTC
    Ended
    Aug 7, 2026, 3:10:20 PM UTC
    Outcome
    Result returned
    Targets
    2

    Web Audio API Lookahead Sequencer

    // Web Audio API sequencer using a timer for lookahead scheduling.
    const audioContext = new (window.AudioContext || window.webkitAudioContext)();
    
    const tempo = 120;
    const stepsPerBeat = 4;
    const stepDuration = 60 / tempo / stepsPerBeat;
    const lookaheadMs = 25;
    const scheduleAheadTime = 0.1;
    const notes = [261.63, 293.66, 329.63, 392.00, 329.63, 293.66, 261.63, 196.00];
    
    let isPlaying = false;
    let timerId = null;
    let nextNoteTime = 0;
    let nextStep = 0;
    const scheduledNotes = [];
    
    function scheduleNote(frequency, time, step) {
      const oscillator = audioContext.createOscillator();
      const gain = audioContext.createGain();
    
      oscillator.type = "triangle";
      oscillator.frequency.value = frequency;
      oscillator.connect(gain).connect(audioContext.destination);
    
      gain.gain.setValueAtTime(0.0001, time);
      gain.gain.exponentialRampToValueAtTime(0.18, time + 0.01);
      gain.gain.exponentialRampToValueAtTime(0.0001, time + stepDuration * 0.9);
    
      oscillator.start(time);
      oscillator.stop(time + stepDuration);
      scheduledNotes.push({ step, time });
    }
    
    function advanceNote() {
      nextNoteTime += stepDuration;
      nextStep = (nextStep + 1) % notes.length;
    }
    
    function scheduler() {
      if (!isPlaying) return;
    
      // Schedule against AudioContext time, not wall-clock time.
      while (nextNoteTime < audioContext.currentTime + scheduleAheadTime) {
        scheduleNote(notes[nextStep], nextNoteTime, nextStep);
        advanceNote();
      }
    
      timerId = setTimeout(scheduler, lookaheadMs);
    }
    
    async function start() {
      if (isPlaying) return;
    
      await audioContext.resume(); // Must be called from a user gesture.
      isPlaying = true;
      nextStep = 0;
      nextNoteTime = audioContext.currentTime + 0.05;
      scheduledNotes.length = 0;
      scheduler();
    }
    
    function stop() {
      isPlaying = false;
      clearTimeout(timerId);
      timerId = null;
    }
    
    const startButton = document.createElement("button");
    startButton.textContent = "Start";
    startButton.addEventListener("click", start);
    
    a const stopButton = document.createElement("button");
    stopButton.textContent = "Stop";
    stopButton.addEventListener("click", stop);
    
    document.body.append(startButton, stopButton);
    
    References
    2
    1. imkhub1/imk-tetrisaudio.js

      Implements a Web Audio API lookahead-style scheduler using AudioContext.currentTime plus a setInterval “scheduler” loop to schedule steps and notes/SFX, directly matching the query’s sequencer + currentTime + lookahead pattern in JavaScript.

      codeMIT
    2. LividInstruments/WebMIDIjs/seq.js

      JavaScript example of a Web Audio API lookahead scheduler using `seqContext.currentTime` plus a `setTimeout`-driven `scheduler()` loop for note scheduling (sequencer timing).

      codeMIT
    Request⌄

    Request payload

    {
      "query": "Web Audio API lookahead scheduler setTimeout currentTime note scheduling sequencer",
      "language": "javascript",
      "license_mode": "strict"
    }
  264. 264
    +1:56:29Get ExampleGenerated examplegenerate synthetic impulse response buffer for ConvolverNode reverb decay noise6 sources18 sCompleted⌄

    generate synthetic impulse response buffer for ConvolverNode reverb decay noise · javascript · strict

    Started
    Aug 7, 2026, 3:10:24 PM UTC
    Ended
    Aug 7, 2026, 3:10:42 PM UTC
    Outcome
    Result returned
    Targets
    6

    Generate a Synthetic Convolution Reverb Impulse Response

    /**
     * Creates a stereo synthetic impulse response for a ConvolverNode.
     * The response is white noise shaped by an exponential decay envelope.
     */
    function createImpulseResponse(audioContext, {
      duration = 2.4,
      decay = 2.0,
      channels = 2,
      normalize = true,
    } = {}) {
      if (!audioContext || typeof audioContext.createBuffer !== 'function') {
        throw new TypeError('A valid AudioContext is required.');
      }
    
      const sampleRate = audioContext.sampleRate;
      const length = Math.max(1, Math.floor(sampleRate * duration));
      const impulse = audioContext.createBuffer(channels, length, sampleRate);
    
      for (let channel = 0; channel < channels; channel++) {
        const data = impulse.getChannelData(channel);
    
        for (let i = 0; i < length; i++) {
          const time = i / sampleRate;
          const envelope = Math.exp(-decay * time / duration);
          const noise = Math.random() * 2 - 1;
          data[i] = noise * envelope;
        }
      }
    
      // Keep the convolution level predictable without changing the stereo image.
      if (normalize) {
        let peak = 0;
        for (let channel = 0; channel < channels; channel++) {
          const data = impulse.getChannelData(channel);
          for (const sample of data) peak = Math.max(peak, Math.abs(sample));
        }
    
        if (peak > 0) {
          for (let channel = 0; channel < channels; channel++) {
            const data = impulse.getChannelData(channel);
            for (let i = 0; i < data.length; i++) data[i] *= 0.9 / peak;
          }
        }
      }
    
      return impulse;
    }
    
    // Example usage in a browser:
    const audioContext = new (window.AudioContext || window.webkitAudioContext)();
    const convolver = audioContext.createConvolver();
    convolver.buffer = createImpulseResponse(audioContext, {
      duration: 3,
      decay: 2.5,
    });
    
    // Route an input source through the reverb.
    const input = audioContext.createGain();
    input.connect(convolver);
    convolver.connect(audioContext.destination);
    
    References
    6
    1. XHiddenProjects/ForgeEngineutils/src/sound.js

      Direct JavaScript implementation of Web Audio ConvolverNode-style synthetic impulse response with exponentially decaying noise, using AudioBuffer.getChannelData to fill channels and assign to convolver.buffer; matches the requested reverb decay/noise generation pattern.

      codeMIT
    2. processing/p5.js-soundsrc/reverb.js

      JavaScript implementation (p5.js-sound) that builds an impulse response for a ConvolverNode-based reverb using random noise scaled by Math.pow(1 - n/length, decay) and supports reverse/decay/seconds via set()/process().

      codeMIT
    3. Bino-Elgua/Swibepwa/audio.js

      JavaScript code generating a synthetic reverb impulse response buffer (2-channel) with exponentially decaying random noise, then assigning it to a ConvolverNode; closely matches the decay/noise impulse-response generation intent.

      codeMIT
    4. gillworks/red-sandssrc/audio/Noise.js

      Directly implements synthetic impulse response generation for a Web Audio ConvolverNode (includes decaying noise tail, stereo impulse buffer via AudioBuffer/getChannelData), matching the query intent and required APIs.

      codeMIT
    5. alemangui/pizzicatosite/Pizzicato.js

      Implements Web Audio Convolver-based reverb by generating an impulse response buffer (uses createConvolver and AudioBuffer/getChannelData) with decay shaping; however it uses Math.random (non-deterministic) and focuses on a library reverb effect rather than a standalone “synthetic impulse response decay noise” generator.

      codeMIT
    6. alemangui/pizzicatodistr/Pizzicato.js

      Implements a synthetic ConvolverNode impulse response by generating an AudioBuffer with decaying random noise (getChannelData, Math.random, decay/time) and assigns it to reverbNode.buffer in a JavaScript Web Audio reverb effect.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "generate synthetic impulse response buffer for ConvolverNode reverb decay noise",
      "language": "javascript",
      "license_mode": "strict"
    }
  265. 265
    +1:57:10Code ReadCode navigationthree245 msCompleted⌄
    Started
    Aug 7, 2026, 3:11:04 PM UTC
    Ended
    Aug 7, 2026, 3:11:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 95,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 95,
          "file_path": "src/audio/AudioListener.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/AudioListener.js#L35-L95",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 35
        }
      ],
      "start_line": 35,
      "status": "success",
      "total_lines": 218
    }
    Request⌄

    Request payload

    {
      "end_line": 95,
      "file_path": "src/audio/AudioListener.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 35,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 95,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 95,
            "file_path": "src/audio/AudioListener.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/AudioListener.js#L35-L95",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 35
          }
        ],
        "start_line": 35,
        "status": "success",
        "total_lines": 218
      },
      "title": null,
      "content": null
    }
  266. 266
    +1:57:17Code GrepCode navigationthree“setNodeSource”163 msCompleted⌄

    setNodeSource

    Started
    Aug 7, 2026, 3:11:11 PM UTC
    Ended
    Aug 7, 2026, 3:11:11 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/audio/Audio.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 248,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L228-L248",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 228
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/audio/Audio.js"
        }
      ],
      "pattern": "setNodeSource",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/audio/Audio.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 248,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L228-L248",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 228
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  267. 267
    +1:57:28Code ReadCode navigationthree129 msCompleted⌄
    Started
    Aug 7, 2026, 3:11:22 PM UTC
    Ended
    Aug 7, 2026, 3:11:22 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 130,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 130,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 130,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L1-L130",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 253
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "src/audio/PositionalAudio.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 130,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 130,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 130,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L1-L130",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 253
      },
      "title": null,
      "content": null
    }
  268. 268
    +1:57:34Code GrepCode navigationthree“setMatrixAt|setColorAt|instanceColor|setUsage|computeBoundingSphere”482 msCompleted⌄

    setMatrixAt|setColorAt|instanceColor|setUsage|computeBoundingSphere

    Started
    Aug 7, 2026, 3:11:29 PM UTC
    Ended
    Aug 7, 2026, 3:11:29 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js",
        "src/objects/InstancedMesh.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 56,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L50-L56",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 50
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 65,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L59-L65",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 59
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 70,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L64-L70",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 98,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L92-L98",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 92
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 107,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L101-L107",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 101
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 116,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L110-L116",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 110
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 152,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L146-L152",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 146
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 154,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L148-L154",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 148
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 167,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L161-L167",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 161
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 192,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L186-L192",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 186
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 192,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L186-L192",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 186
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 192,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L186-L192",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 186
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 212,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L206-L212",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 206
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 218,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L212-L218",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 212
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 273,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L267-L273",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 267
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 315,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L309-L315",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 309
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 321,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L315-L321",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 315
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 323,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L317-L323",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 317
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 325,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L319-L325",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 319
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 329,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L323-L329",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 323
        }
      ],
      "returned_matches": 20,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 20,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 40,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/objects/InstancedMesh.js"
        }
      ],
      "pattern": "setMatrixAt|setColorAt|instanceColor|setUsage|computeBoundingSphere",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js",
          "src/objects/InstancedMesh.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 56,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L50-L56",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 50
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 65,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L59-L65",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 59
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 70,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L64-L70",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 98,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L92-L98",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 92
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 107,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L101-L107",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 101
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 116,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L110-L116",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 110
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 152,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L146-L152",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 146
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 154,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L148-L154",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 148
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 167,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L161-L167",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 161
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 192,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L186-L192",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 186
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 192,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L186-L192",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 186
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 192,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L186-L192",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 186
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 212,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L206-L212",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 206
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 218,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L212-L218",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 212
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 273,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L267-L273",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 267
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 315,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L309-L315",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 309
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 321,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L315-L321",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 315
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 323,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L317-L323",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 317
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 325,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L319-L325",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 319
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 329,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L323-L329",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 323
          }
        ],
        "returned_matches": 20,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 20,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  269. 269
    +1:57:35Code ReadCode navigationthree334 msCompleted⌄
    Started
    Aug 7, 2026, 3:11:29 PM UTC
    Ended
    Aug 7, 2026, 3:11:30 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 80,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 80,
          "file_path": "src/geometries/LatheGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L20-L80",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 20
        }
      ],
      "start_line": 20,
      "status": "success",
      "total_lines": 230
    }
    Request⌄

    Request payload

    {
      "end_line": 80,
      "file_path": "src/geometries/LatheGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 20,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 80,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 80,
            "file_path": "src/geometries/LatheGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L20-L80",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 20
          }
        ],
        "start_line": 20,
        "status": "success",
        "total_lines": 230
      },
      "title": null,
      "content": null
    }
  270. 270
    +1:57:35Code GrepCode navigationthree“updateMatrixWorld”168 msCompleted⌄

    updateMatrixWorld

    Started
    Aug 7, 2026, 3:11:30 PM UTC
    Ended
    Aug 7, 2026, 3:11:30 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/audio/PositionalAudio.js",
        "src/audio/PositionalAudio.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 227,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L207-L227",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 207
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 229,
          "file_path": "src/audio/PositionalAudio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L209-L229",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 209
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/audio/PositionalAudio.js"
        }
      ],
      "pattern": "updateMatrixWorld",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/audio/PositionalAudio.js",
          "src/audio/PositionalAudio.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 227,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L207-L227",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 207
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 229,
            "file_path": "src/audio/PositionalAudio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/PositionalAudio.js#L209-L229",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 209
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  271. 271
    +1:57:38Code ReadCode navigationthree289 msCompleted⌄
    Started
    Aug 7, 2026, 3:11:33 PM UTC
    Ended
    Aug 7, 2026, 3:11:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 70,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 70,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 70,
          "file_path": "src/lights/PointLight.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/lights/PointLight.js#L1-L70",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 131
    }
    Request⌄

    Request payload

    {
      "end_line": 70,
      "file_path": "src/lights/PointLight.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 70,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 70,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 70,
            "file_path": "src/lights/PointLight.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/lights/PointLight.js#L1-L70",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 131
      },
      "title": null,
      "content": null
    }
  272. 272
    +1:57:39Get ExampleGenerated exampleHTML DOM HUD overlay on top of Three.js canvas, pointer-events none container, health bar and compass updated from an event bus2 sources22 sCompleted⌄

    HTML DOM HUD overlay on top of Three.js canvas, pointer-events none container, health bar and compass updated from an event bus · javascript · strict

    Started
    Aug 7, 2026, 3:11:34 PM UTC
    Ended
    Aug 7, 2026, 3:11:56 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js HUD Overlay with Event-Bus Updates

    // Assumes THREE is available globally.
    
    class EventBus {
      constructor() {
        this.listeners = new Map();
      }
    
      on(eventName, listener) {
        if (!this.listeners.has(eventName)) this.listeners.set(eventName, new Set());
        this.listeners.get(eventName).add(listener);
        return () => this.listeners.get(eventName)?.delete(listener);
      }
    
      emit(eventName, payload) {
        for (const listener of this.listeners.get(eventName) || []) {
          listener(payload);
        }
      }
    }
    
    class GameHUD {
      constructor({ parent = document.body, bus }) {
        this.bus = bus;
        this.root = document.createElement('div');
        this.root.id = 'game-hud';
        Object.assign(this.root.style, {
          position: 'fixed',
          inset: '0',
          zIndex: '10',
          pointerEvents: 'none',
          fontFamily: 'system-ui, sans-serif',
          color: '#fff'
        });
    
        this.root.innerHTML = `
          <section style="position:absolute;top:20px;left:20px;width:220px;padding:12px;background:rgba(8,12,20,.78);border:1px solid rgba(255,255,255,.2);border-radius:8px">
            <div style="font-size:12px;margin-bottom:6px">HEALTH <span id="health-text">100 / 100</span></div>
            <div style="height:12px;background:#26303b;border-radius:6px;overflow:hidden">
              <div id="health-fill" style="height:100%;width:100%;background:#35d07f;transition:width .2s,background .2s"></div>
            </div>
          </section>
          <section style="position:absolute;top:20px;right:20px;width:110px;height:110px;display:grid;place-items:center;background:rgba(8,12,20,.78);border:1px solid rgba(255,255,255,.2);border-radius:50%">
            <span style="position:absolute;top:7px;font-size:11px">N</span>
            <span style="position:absolute;right:9px;font-size:11px">E</span>
            <span style="position:absolute;bottom:7px;font-size:11px">S</span>
            <span style="position:absolute;left:9px;font-size:11px">W</span>
            <span id="compass-arrow" style="font-size:36px;color:#ff5b5b;transform:rotate(0deg);transition:transform .15s">▲</span>
          </section>
        `;
    
        parent.appendChild(this.root);
        this.healthFill = this.root.querySelector('#health-fill');
        this.healthText = this.root.querySelector('#health-text');
        this.compassArrow = this.root.querySelector('#compass-arrow');
    
        this.unsubscribe = [
          bus.on('player:health', ({ current, maximum }) => this.setHealth(current, maximum)),
          bus.on('player:heading', ({ degrees }) => this.setHeading(degrees))
        ];
      }
    
      setHealth(current, maximum) {
        const safeMaximum = Math.max(1, maximum);
        const clamped = Math.max(0, Math.min(current, safeMaximum));
        const percentage = (clamped / safeMaximum) * 100;
    
        this.healthFill.style.width = `${percentage}%`;
        this.healthFill.style.background = percentage <= 25
          ? '#ef4444'
          : percentage <= 50 ? '#f59e0b' : '#35d07f';
        this.healthText.textContent = `${Math.ceil(clamped)} / ${safeMaximum}`;
      }
    
      setHeading(degrees) {
        // The arrow points toward the current heading; north is zero degrees.
        this.compassArrow.style.transform = `rotate(${degrees}deg)`;
      }
    
      destroy() {
        this.unsubscribe.forEach((unsubscribe) => unsubscribe());
        this.root.remove();
      }
    }
    
    function createThreeScene() {
      const bus = new EventBus();
      const renderer = new THREE.WebGLRenderer({ antialias: true });
      renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
      renderer.setSize(window.innerWidth, window.innerHeight);
      renderer.domElement.style.display = 'block';
      document.body.style.margin = '0';
      document.body.style.overflow = 'hidden';
      document.body.appendChild(renderer.domElement);
    
      const scene = new THREE.Scene();
      scene.background = new THREE.Color(0x111827);
    
      const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000);
      camera.position.set(0, 2.5, 6);
      camera.lookAt(0, 1, 0);
    
      scene.add(new THREE.HemisphereLight(0xffffff, 0x334155, 2));
      const cube = new THREE.Mesh(
        new THREE.BoxGeometry(2, 2, 2),
        new THREE.MeshStandardMaterial({ color: 0x38bdf8 })
      );
      scene.add(cube);
    
      const hud = new GameHUD({ bus });
      let health = 100;
      let heading = 0;
      let lastTime = performance.now();
    
      function frame(now) {
        const delta = (now - lastTime) / 1000;
        lastTime = now;
        cube.rotation.y += delta;
        heading = (heading + delta * 25) % 360;
    
        bus.emit('player:heading', { degrees: heading });
        renderer.render(scene, camera);
        requestAnimationFrame(frame);
      }
    
      window.addEventListener('keydown', (event) => {
        if (event.key.toLowerCase() !== 'h') return;
        health = Math.max(0, health - 10);
        bus.emit('player:health', { current: health, maximum: 100 });
      });
    
      window.addEventListener('resize', () => {
        camera.aspect = window.innerWidth / window.innerHeight;
        camera.updateProjectionMatrix();
        renderer.setSize(window.innerWidth, window.innerHeight);
      });
    
      bus.emit('player:health', { current: health, maximum: 100 });
      requestAnimationFrame(frame);
    
      return { bus, hud, scene, camera, renderer };
    }
    
    createThreeScene();
    
    References
    2
    1. nocoldiz/hypernet-explorer-pluginsjs/plugins/Vehicle/CamperDrivingSystem.js

      Implements an HTML DOM overlay HUD on top of a Three.js canvas (creates positioned divs/canvas, sets `pointer-events:none`, includes minimap/compass-like UI); however it doesn’t show an explicit event-bus-driven health bar/compass update pattern, so it only partially matches the query intent.

      codeMIT
    2. JohnnyOpcode/ReMixrcontent.js

      JavaScript content-script code that creates a DOM overlay HUD for an interactive inspector; it includes 'overlay' behavior and uses click/hover event handling, but it does not specifically show a Three.js canvas HUD, pointer-events:none overlay container, health bar/compass, or an event-bus-driven update pattern.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "HTML DOM HUD overlay on top of Three.js canvas, pointer-events none container, health bar and compass updated from an event bus",
      "language": "javascript",
      "license_mode": "strict"
    }
  273. 273
    +1:57:40Code GrepCode navigationthree“connect() {”100 msCompleted⌄

    connect() {

    Started
    Aug 7, 2026, 3:11:35 PM UTC
    Ended
    Aug 7, 2026, 3:11:35 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/audio/Audio.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 440,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L420-L440",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 420
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/audio/Audio.js"
        }
      ],
      "pattern": "\tconnect() {",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/audio/Audio.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 440,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L420-L440",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 420
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  274. 274
    +1:57:40Code GrepCode navigationthree“DynamicDrawUsage|setUsage”912 msCompleted⌄

    DynamicDrawUsage|setUsage

    Started
    Aug 7, 2026, 3:11:35 PM UTC
    Ended
    Aug 7, 2026, 3:11:36 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferAttribute.js",
        "src/core/BufferAttribute.js",
        "src/core/BufferAttribute.js",
        "src/core/InterleavedBuffer.js",
        "src/core/InterleavedBuffer.js",
        "src/core/InterleavedBuffer.js",
        "src/core/InterleavedBuffer.js",
        "src/core/UniformsGroup.js",
        "src/core/UniformsGroup.js",
        "src/core/UniformsGroup.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 112,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L104-L112",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 104
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 168,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L160-L168",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 160
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 171,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L163-L171",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 163
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 61,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L53-L61",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 53
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 114,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L106-L114",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 106
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 117,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L109-L117",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 109
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 232,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L224-L232",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 224
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 56,
          "file_path": "src/core/UniformsGroup.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/UniformsGroup.js#L48-L56",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 48
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 117,
          "file_path": "src/core/UniformsGroup.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/UniformsGroup.js#L109-L117",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 109
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "src/core/UniformsGroup.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/UniformsGroup.js#L112-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 112
        }
      ],
      "returned_matches": 10,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 10,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 14,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/core"
        }
      ],
      "pattern": "DynamicDrawUsage|setUsage",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferAttribute.js",
          "src/core/BufferAttribute.js",
          "src/core/BufferAttribute.js",
          "src/core/InterleavedBuffer.js",
          "src/core/InterleavedBuffer.js",
          "src/core/InterleavedBuffer.js",
          "src/core/InterleavedBuffer.js",
          "src/core/UniformsGroup.js",
          "src/core/UniformsGroup.js",
          "src/core/UniformsGroup.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 112,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L104-L112",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 104
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 168,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L160-L168",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 160
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 171,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L163-L171",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 163
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 61,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L53-L61",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 53
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 114,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L106-L114",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 106
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 117,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L109-L117",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 109
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 232,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L224-L232",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 224
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 56,
            "file_path": "src/core/UniformsGroup.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/UniformsGroup.js#L48-L56",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 48
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 117,
            "file_path": "src/core/UniformsGroup.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/UniformsGroup.js#L109-L117",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 109
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "src/core/UniformsGroup.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/UniformsGroup.js#L112-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 112
          }
        ],
        "returned_matches": 10,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 10,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  275. 275
    +1:57:49Code ReadCode navigationthree116 msCompleted⌄
    Started
    Aug 7, 2026, 3:11:44 PM UTC
    Ended
    Aug 7, 2026, 3:11:44 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 500,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 500,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L440-L500",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 440
        }
      ],
      "start_line": 440,
      "status": "success",
      "total_lines": 778
    }
    Request⌄

    Request payload

    {
      "end_line": 500,
      "file_path": "src/audio/Audio.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 440,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 500,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 500,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L440-L500",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 440
          }
        ],
        "start_line": 440,
        "status": "success",
        "total_lines": 778
      },
      "title": null,
      "content": null
    }
  276. 276
    +1:58:02Code ReadCode navigationthree3.4 sCompleted⌄
    Started
    Aug 7, 2026, 3:11:57 PM UTC
    Ended
    Aug 7, 2026, 3:12:00 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 90,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 51,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 90,
          "file_path": "src/audio/Audio.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L40-L90",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        }
      ],
      "start_line": 40,
      "status": "success",
      "total_lines": 778
    }
    Request⌄

    Request payload

    {
      "end_line": 90,
      "file_path": "src/audio/Audio.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 40,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 90,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 51,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 90,
            "file_path": "src/audio/Audio.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/audio/Audio.js#L40-L90",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          }
        ],
        "start_line": 40,
        "status": "success",
        "total_lines": 778
      },
      "title": null,
      "content": null
    }
  277. 277
    +1:58:08Get ExampleGenerated examplethree.js instanced grass field InstancedMesh ShaderMaterial wind sway vertex shader distance fade per-instance phase attribute2 sources26 sCompleted⌄

    three.js instanced grass field InstancedMesh ShaderMaterial wind sway vertex shader distance fade per-instance phase attribute · javascript · strict

    Started
    Aug 7, 2026, 3:12:02 PM UTC
    Ended
    Aug 7, 2026, 3:12:28 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Instanced Grass with Wind Sway and Distance Fade

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9bc7e8);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 250);
    camera.position.set(0, 12, 24);
    camera.lookAt(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    document.body.appendChild(renderer.domElement);
    
    const COUNT = 12000;
    const FIELD_SIZE = 70;
    const MAX_DISTANCE = 48;
    
    // A subdivided blade lets the wind bend the grass smoothly from its root.
    const blade = new THREE.PlaneGeometry(0.18, 1.4, 1, 4);
    blade.translate(0, 0.7, 0);
    
    const phases = new Float32Array(COUNT);
    const scales = new Float32Array(COUNT);
    const offsets = new Float32Array(COUNT * 3);
    
    for (let i = 0; i < COUNT; i++) {
      const n = i * 3;
      offsets[n] = (Math.random() - 0.5) * FIELD_SIZE;
      offsets[n + 1] = 0;
      offsets[n + 2] = (Math.random() - 0.5) * FIELD_SIZE;
      phases[i] = Math.random() * Math.PI * 2;
      scales[i] = 0.65 + Math.random() * 0.8;
    }
    
    blade.setAttribute(
      'instanceOffset',
      new THREE.InstancedBufferAttribute(offsets, 3),
    );
    blade.setAttribute(
      'instancePhase',
      new THREE.InstancedBufferAttribute(phases, 1),
    );
    blade.setAttribute(
      'instanceScale',
      new THREE.InstancedBufferAttribute(scales, 1),
    );
    
    const material = new THREE.ShaderMaterial({
      uniforms: {
        uTime: { value: 0 },
        uCameraPosition: { value: new THREE.Vector3() },
        uMaxDistance: { value: MAX_DISTANCE },
        uWindStrength: { value: 0.28 },
      },
      vertexShader: /* glsl */ `
        attribute vec3 instanceOffset;
        attribute float instancePhase;
        attribute float instanceScale;
    
        uniform float uTime;
        uniform float uWindStrength;
        uniform vec3 uCameraPosition;
        uniform float uMaxDistance;
    
        varying float vFade;
        varying float vHeight;
    
        void main() {
          vHeight = uv.y;
    
          vec3 local = position;
          local.y *= instanceScale;
    
          vec3 worldBase = instanceOffset;
          float distanceToCamera = distance(worldBase, uCameraPosition);
          vFade = 1.0 - smoothstep(uMaxDistance * 0.65, uMaxDistance, distanceToCamera);
    
          // Spatial phase prevents every blade from swaying in sync.
          float spatialPhase = instanceOffset.x * 0.19 + instanceOffset.z * 0.23;
          float wind = sin(uTime * 1.8 + instancePhase + spatialPhase);
          float gust = sin(uTime * 0.63 + spatialPhase * 0.7) * 0.35;
          float bend = (wind + gust) * uWindStrength * vHeight * vHeight;
    
          local.x += bend;
          local.z += bend * 0.35;
    
          vec4 worldPosition = modelMatrix * vec4(local + instanceOffset, 1.0);
          gl_Position = projectionMatrix * viewMatrix * worldPosition;
        }
      `,
      fragmentShader: /* glsl */ `
        varying float vFade;
        varying float vHeight;
    
        void main() {
          vec3 rootColor = vec3(0.08, 0.22, 0.035);
          vec3 tipColor = vec3(0.34, 0.62, 0.12);
          vec3 color = mix(rootColor, tipColor, vHeight);
    
          // Alpha fade avoids a hard field boundary at the draw distance.
          float alpha = vFade * 0.92;
          if (alpha < 0.01) discard;
    
          gl_FragColor = vec4(color, alpha);
        }
      `,
      side: THREE.DoubleSide,
      transparent: true,
      depthWrite: true,
    });
    
    const grass = new THREE.InstancedMesh(blade, material, COUNT);
    grass.frustumCulled = false;
    scene.add(grass);
    
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(FIELD_SIZE, FIELD_SIZE),
      new THREE.MeshBasicMaterial({ color: 0x47722d }),
    );
    ground.rotation.x = -Math.PI / 2;
    scene.add(ground);
    
    const clock = new THREE.Clock();
    function animate() {
      requestAnimationFrame(animate);
      material.uniforms.uTime.value = clock.getElapsedTime();
      material.uniforms.uCameraPosition.value.copy(camera.position);
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    2
    1. Drommedhar/novalist-officialapp/src/renderer/public/map/map3d.js

      Production three.js code using InstancedMesh-style instanced attributes for grass wind sway (per-instance `grassPhase`/`grassRoot` attributes) and a vertex sway formula tied to `time` and per-blade phase, matching the requested instanced grass wind/phase pattern; distance fade is not clearly shown in the captured snippet.

      codeMIT
    2. Joe-Heffer/Peak-District-Downhillsrc/scenery/Grass.js

      Directly implements three.js InstancedMesh grass with a custom ShaderMaterial-style vertex/fragment injection (onBeforeCompile) to add wind sway in the vertex shader, plus per-instance wind phase via instance world position and a distance-based fade via a fragment discard cutoff.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js instanced grass field InstancedMesh ShaderMaterial wind sway vertex shader distance fade per-instance phase attribute",
      "language": "javascript",
      "license_mode": "strict"
    }
  278. 278
    +1:58:39Get ExampleGenerated examplelocalStorage versioned schema migration quota exceeded safe wrapper3 sources26 sCompleted⌄

    localStorage versioned schema migration quota exceeded safe wrapper · javascript · strict

    Started
    Aug 7, 2026, 3:12:34 PM UTC
    Ended
    Aug 7, 2026, 3:13:00 PM UTC
    Outcome
    Result returned
    Targets
    3

    Safe Versioned localStorage Store with Migration and Quota Recovery

    // Versioned localStorage persistence with migration, safe fallbacks, and
    // QuotaExceededError recovery. Run in a browser.
    
    const storage = (() => {
      const KEY = "app.records.v2";
      const memory = new Map();
    
      const fallback = {
        getItem: (key) => memory.has(key) ? memory.get(key) : null,
        setItem: (key, value) => memory.set(key, String(value)),
        removeItem: (key) => memory.delete(key)
      };
    
      function backend() {
        try {
          const value = globalThis.localStorage;
          value.getItem("__storage_probe__");
          return value;
        } catch {
          return fallback;
        }
      }
    
      function isQuotaError(error) {
        return error?.name === "QuotaExceededError" || error?.code === 22;
      }
    
      function read() {
        const source = backend();
        try {
          const raw = source.getItem(KEY);
          if (!raw) return [];
    
          const parsed = JSON.parse(raw);
    
          // Migrate v1: { version: 1, items: [{ name, createdAt }] }
          if (parsed?.version === 1 && Array.isArray(parsed.items)) {
            return parsed.items.map((item) => ({
              id: crypto.randomUUID(),
              label: String(item.name ?? ""),
              createdAt: Number(item.createdAt) || Date.now()
            }));
          }
    
          // Current schema: { version: 2, items: [...] }
          if (parsed?.version === 2 && Array.isArray(parsed.items)) {
            return parsed.items.filter((item) => item && typeof item === "object");
          }
        } catch {
          // Corrupt or unavailable data is treated as an empty collection.
        }
        return [];
      }
    
      function write(items) {
        const source = backend();
        const envelope = JSON.stringify({ version: 2, items });
    
        try {
          source.setItem(KEY, envelope);
          return { ok: true, warning: null };
        } catch (error) {
          if (!isQuotaError(error)) {
            return { ok: false, warning: "Storage is unavailable; using memory only." };
          }
    
          // Retry once after removing the largest optional fields and oldest data.
          const compact = items
            .map(({ id, label, createdAt }) => ({ id, label, createdAt }))
            .slice(-10);
    
          try {
            source.setItem(KEY, JSON.stringify({ version: 2, items: compact }));
            return { ok: true, warning: "Storage was full; older records were removed." };
          } catch {
            return { ok: false, warning: "Storage quota exceeded; changes remain in memory." };
          }
        }
      }
    
      let items = read();
      const listeners = new Set();
    
      function notify() {
        for (const listener of listeners) listener(items.slice());
      }
    
      function update(nextItems) {
        items = nextItems;
        const result = write(items);
        notify();
        return result;
      }
    
      return {
        getAll: () => items.slice(),
        add(label) {
          return update([
            ...items,
            { id: crypto.randomUUID(), label: String(label), createdAt: Date.now() }
          ]);
        },
        remove(id) {
          return update(items.filter((item) => item.id !== id));
        },
        subscribe(listener) {
          listeners.add(listener);
          return () => listeners.delete(listener);
        },
        migrateAndPersist() {
          return write(items); // Persists migrated v1 data as v2.
        }
      };
    })();
    
    // Example usage.
    const unsubscribe = storage.subscribe((records) => {
      console.table(records);
    });
    
    const migrationResult = storage.migrateAndPersist();
    if (migrationResult.warning) console.warn(migrationResult.warning);
    
    const saveResult = storage.add("example record");
    if (saveResult.warning) console.warn(saveResult.warning);
    
    // Later: unsubscribe();
    
    References
    3
    1. irgendjemandkeinkorper/godot-scene-architectRun history store with brief grouping

      Directly about implementing a localStorage-backed versioned migration plus quota/QuotaExceeded handling and a safe wrapper/persistence layer (run history store) in a JavaScript/TS app; covers key terms migration + quota exceeded and the persistence design.

      issueMIT
    2. risqinf/apikuassets/webapp/app.js

      Shows a localStorage versioned schema wrapper with migration and safe wrappers (try/catch degradation) for client-side collections; quota-exceeded handling isn’t clearly evidenced in the shown snippet, but the schema/migration/safety patterns are highly relevant to the query.

      codeMIT
    3. hybrist/waluaupackages/vite-plugin-waluau/runtime.js

      Code shows a safe localStorage wrapper with fallback when localStorage is unavailable (try/catch and fallback Map), which partially aligns with handling localStorage quota/robustness, but it doesn’t cover “versioned schema migration” or “quota exceeded” specifically.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "localStorage versioned schema migration quota exceeded safe wrapper",
      "language": "javascript",
      "license_mode": "strict"
    }
  279. 279
    +1:58:43Code GrepCode navigationthree“uniform vec3 cameraPosition”115 msCompleted⌄

    uniform vec3 cameraPosition

    Started
    Aug 7, 2026, 3:12:37 PM UTC
    Ended
    Aug 7, 2026, 3:12:37 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 610,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L594-L610",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 594
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 776,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L760-L776",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 760
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "uniform vec3 cameraPosition",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 610,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L594-L610",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 594
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 776,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L760-L776",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 760
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  280. 280
    +1:59:40Get ExampleGenerated exampleprocedural stylized tree generator three.js trunk branches canopy blobs merge geometry vertex colors3 sources31 sCompleted⌄

    procedural stylized tree generator three.js trunk branches canopy blobs merge geometry vertex colors · javascript · strict

    Started
    Aug 7, 2026, 3:13:35 PM UTC
    Ended
    Aug 7, 2026, 3:14:06 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Procedural Stylized Tree with Merged Geometry and Vertex Colors

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1" />
      <title>Procedural Tree</title>
      <style>
        html, body { margin: 0; height: 100%; overflow: hidden; background: #9bc8e6; }
        canvas { display: block; }
      </style>
    </head>
    <body>
    <script type="importmap">
    {
      "imports": {
        "three": "https://cdn.jsdelivr.net/npm/three@0.179.1/build/three.module.js",
        "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.179.1/examples/jsm/"
      }
    }
    </script>
    
    <script type="module">
    import * as THREE from 'three';
    import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
    import { mergeGeometries } from 'three/addons/utils/BufferGeometryUtils.js';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9bc8e6);
    
    const camera = new THREE.PerspectiveCamera(42, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(11, 9, 14);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    renderer.shadowMap.type = THREE.PCFSoftShadowMap;
    document.body.appendChild(renderer.domElement);
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.target.set(0, 4.5, 0);
    controls.enableDamping = true;
    
    scene.add(new THREE.HemisphereLight(0xdff3ff, 0x705033, 2.2));
    const sun = new THREE.DirectionalLight(0xfff0cf, 3.5);
    sun.position.set(-8, 14, 8);
    sun.castShadow = true;
    sun.shadow.mapSize.set(2048, 2048);
    scene.add(sun);
    
    const trunkParts = [];
    const canopyParts = [];
    const brown = new THREE.Color(0x704326);
    const brownLight = new THREE.Color(0x9a6139);
    const greens = [
      new THREE.Color(0x315f2c),
      new THREE.Color(0x477d35),
      new THREE.Color(0x639b40),
      new THREE.Color(0x86ad4d)
    ];
    
    function colorGeometry(geometry, colorFn) {
      const positions = geometry.getAttribute('position');
      const colors = new Float32Array(positions.count * 3);
    
      for (let i = 0; i < positions.count; i++) {
        const c = colorFn(i, positions.getY(i));
        colors[i * 3] = c.r;
        colors[i * 3 + 1] = c.g;
        colors[i * 3 + 2] = c.b;
      }
    
      geometry.setAttribute('color', new THREE.Float32BufferAttribute(colors, 3));
      return geometry;
    }
    
    function branchGeometry(start, end, radiusStart, radiusEnd, radialSegments = 6) {
      const direction = new THREE.Vector3().subVectors(end, start);
      const length = direction.length();
      const geometry = new THREE.CylinderGeometry(
        radiusEnd,
        radiusStart,
        length,
        radialSegments,
        1
      );
    
      geometry.translate(0, length / 2, 0);
      geometry.applyQuaternion(
        new THREE.Quaternion().setFromUnitVectors(
          new THREE.Vector3(0, 1, 0),
          direction.normalize()
        )
      );
      geometry.translate(start.x, start.y, start.z);
    
      return colorGeometry(geometry, (index) =>
        index % 5 === 0 ? brownLight : brown
      );
    }
    
    function addBranch(start, end, radiusStart, radiusEnd) {
      trunkParts.push(branchGeometry(start, end, radiusStart, radiusEnd));
    }
    
    function addBlob(center, radius, colorIndex, scale = 1) {
      const geometry = new THREE.IcosahedronGeometry(radius, 1);
      geometry.scale(1, scale, 1);
      geometry.translate(center.x, center.y, center.z);
    
      const base = greens[colorIndex % greens.length];
      colorGeometry(geometry, (index, y) => {
        const variation = ((index * 17) % 11) / 55;
        const shade = THREE.MathUtils.clamp(
          0.86 + y / (radius * 8) + variation,
          0.65,
          1.2
        );
        return base.clone().multiplyScalar(shade);
      });
    
      canopyParts.push(geometry);
    }
    
    function randomRange(min, max) {
      return min + Math.random() * (max - min);
    }
    
    function makeTree({ seed = 7, height = 8 } = {}) {
      // Seeded randomness keeps the generated tree repeatable.
      let state = seed >>> 0;
      const random = () => {
        state = (1664525 * state + 1013904223) >>> 0;
        return state / 0x100000000;
      };
    
      const trunkTop = height * 0.58;
      const trunkRadius = height * 0.075;
      addBranch(
        new THREE.Vector3(0, 0, 0),
        new THREE.Vector3(randomRange(-0.15, 0.15), trunkTop, randomRange(-0.15, 0.15)),
        trunkRadius,
        trunkRadius * 0.42
      );
    
      const branchCount = 8;
      for (let i = 0; i < branchCount; i++) {
        const angle = (i / branchCount) * Math.PI * 2 + random() * 0.45;
        const y = height * randomRange(0.34, 0.68);
        const start = new THREE.Vector3(0, y, 0);
        const length = height * randomRange(0.22, 0.38);
        const end = new THREE.Vector3(
          Math.cos(angle) * length,
          y + height * randomRange(0.12, 0.3),
          Math.sin(angle) * length
        );
        addBranch(start, end, trunkRadius * randomRange(0.35, 0.62), trunkRadius * 0.08);
    
        addBlob(
          end.clone().add(new THREE.Vector3(0, height * 0.1, 0)),
          height * randomRange(0.16, 0.23),
          Math.floor(random() * greens.length),
          randomRange(0.75, 1.15)
        );
      }
    
      // A few overlapping blobs make a readable, hand-painted canopy silhouette.
      const crown = new THREE.Vector3(0, height * 0.78, 0);
      for (let i = 0; i < 10; i++) {
        addBlob(
          crown.clone().add(new THREE.Vector3(
            randomRange(-height * 0.28, height * 0.28),
            randomRange(-height * 0.12, height * 0.2),
            randomRange(-height * 0.28, height * 0.28)
          )),
          height * randomRange(0.18, 0.28),
          Math.floor(random() * greens.length),
          randomRange(0.7, 1.25)
        );
      }
    }
    
    makeTree({ seed: 42, height: 8 });
    
    const mergedTrunk = mergeGeometries(trunkParts, false);
    const mergedCanopy = mergeGeometries(canopyParts, false);
    
    if (!mergedTrunk || !mergedCanopy) {
      throw new Error('Geometry merge failed: all parts must have matching attributes.');
    }
    
    mergedTrunk.computeVertexNormals();
    mergedCanopy.computeVertexNormals();
    
    const trunkMaterial = new THREE.MeshStandardMaterial({
      vertexColors: true,
      roughness: 1
    });
    const canopyMaterial = new THREE.MeshStandardMaterial({
      vertexColors: true,
      roughness: 0.95,
      flatShading: true
    });
    
    const tree = new THREE.Group();
    const trunk = new THREE.Mesh(mergedTrunk, trunkMaterial);
    const canopy = new THREE.Mesh(mergedCanopy, canopyMaterial);
    trunk.castShadow = trunk.receiveShadow = true;
    canopy.castShadow = canopy.receiveShadow = true;
    tree.add(trunk, canopy);
    scene.add(tree);
    
    const ground = new THREE.Mesh(
      new THREE.CircleGeometry(18, 64).rotateX(-Math.PI / 2),
      new THREE.MeshStandardMaterial({ color: 0x70934c, roughness: 1 })
    );
    ground.receiveShadow = true;
    scene.add(ground);
    
    const ring = new THREE.Mesh(
      new THREE.TorusGeometry(1.1, 0.035, 6, 32),
      new THREE.MeshBasicMaterial({ color: 0xc6a36a })
    );
    ring.rotation.x = Math.PI / 2;
    ring.position.y = 0.02;
    scene.add(ring);
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    function animate() {
      controls.update();
      tree.rotation.y += 0.0015;
      renderer.render(scene, camera);
      requestAnimationFrame(animate);
    }
    animate();
    </script>
    </body>
    </html>
    
    References
    3
    1. Drommedhar/novalist-officialapp/src/renderer/public/map/map3d.js

      Contains substantial Three.js/WebGPU code for procedural low-poly tree meshes (trunk/canopy) and related geometry construction, matching the query’s focus on stylized procedural trees; however it’s broader map/scene code and the exact “merge geometry / vertex colors / branch canopy blobs” aspects aren’t clearly isolated in the snippet.

      codeMIT
    2. nocoldiz/hypernet-explorer-pluginsjs/plugins/Vehicle/CamperDrivingSystem.js

      JavaScript/three.js-based procedural scene code that includes procedural geometry generation (trunk/canopy-like structures), instancing, and material/vertex-color-style decoration patterns, but it’s a game/plugin-specific tree/foliage implementation rather than a focused “stylized tree generator” using merge-geometry + vertex colors as the main topic.

      codeMIT
    3. mrdoob/three.jsexamples/jsm/loaders/FBXLoader.js

      three.js FBXLoader implementation that shows how per-vertex data like colors/normals are parsed and written into BufferGeometry (useful background for building a procedural tree with vertex colors), though it’s not directly a tree generator or canopy/blob branching logic.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "procedural stylized tree generator three.js trunk branches canopy blobs merge geometry vertex colors",
      "language": "javascript",
      "license_mode": "strict"
    }
  281. 281
    +2:00:13Get ExampleGenerated exampletypewriter text effect requestAnimationFrame with skip to full text, visual novel dialogue manager4 sources29 sCompleted⌄

    typewriter text effect requestAnimationFrame with skip to full text, visual novel dialogue manager · javascript · strict

    Started
    Aug 7, 2026, 3:14:08 PM UTC
    Ended
    Aug 7, 2026, 3:14:36 PM UTC
    Outcome
    Result returned
    Targets
    4

    Visual Novel Dialogue Manager with requestAnimationFrame Typewriter and Skip

    'use strict';
    
    class Typewriter {
      constructor(element, { charactersPerSecond = 45, onComplete } = {}) {
        this.element = element;
        this.charactersPerSecond = charactersPerSecond;
        this.onComplete = onComplete;
        this.text = '';
        this.index = 0;
        this.elapsed = 0;
        this.frameId = null;
        this.lastTime = 0;
        this.running = false;
      }
    
      start(text) {
        this.stop();
        this.text = String(text);
        this.index = 0;
        this.elapsed = 0;
        this.lastTime = 0;
        this.running = true;
        this.element.textContent = '';
        this.frameId = requestAnimationFrame((time) => this.tick(time));
      }
    
      tick(time) {
        if (!this.running) return;
    
        if (!this.lastTime) this.lastTime = time;
        this.elapsed += time - this.lastTime;
        this.lastTime = time;
    
        const characters = Math.floor(
          (this.elapsed / 1000) * this.charactersPerSecond
        );
    
        if (characters > this.index) {
          this.index = Math.min(characters, this.text.length);
          this.element.textContent = this.text.slice(0, this.index);
        }
    
        if (this.index >= this.text.length) {
          this.stop();
          this.onComplete?.();
          return;
        }
    
        this.frameId = requestAnimationFrame((nextTime) => this.tick(nextTime));
      }
    
      // Completes the current line immediately without starting another line.
      skip() {
        if (!this.running) return false;
    
        this.element.textContent = this.text;
        this.index = this.text.length;
        this.stop();
        this.onComplete?.();
        return true;
      }
    
      stop() {
        this.running = false;
        if (this.frameId !== null) {
          cancelAnimationFrame(this.frameId);
          this.frameId = null;
        }
      }
    
      get isComplete() {
        return !this.running && this.index >= this.text.length;
      }
    }
    
    class DialogueManager {
      constructor({ nameElement, textElement, continueButton, dialogues }) {
        this.nameElement = nameElement;
        this.textElement = textElement;
        this.continueButton = continueButton;
        this.dialogues = dialogues;
        this.currentIndex = -1;
        this.finished = false;
    
        this.typewriter = new Typewriter(textElement, {
          charactersPerSecond: 42,
          onComplete: () => this.updateContinueLabel()
        });
    
        continueButton.addEventListener('click', () => this.advance());
        textElement.addEventListener('click', () => this.advance());
    
        document.addEventListener('keydown', (event) => {
          if (event.key === ' ' || event.key === 'Enter') {
            event.preventDefault();
            this.advance();
          }
        });
    
        this.advance();
      }
    
      advance() {
        // First activation skips typing; the next activation advances the story.
        if (this.typewriter.running) {
          this.typewriter.skip();
          return;
        }
    
        if (this.finished) return;
    
        this.currentIndex += 1;
        if (this.currentIndex >= this.dialogues.length) {
          this.finish();
          return;
        }
    
        const dialogue = this.dialogues[this.currentIndex];
        this.nameElement.textContent = dialogue.speaker;
        this.typewriter.start(dialogue.text);
        this.updateContinueLabel();
      }
    
      updateContinueLabel() {
        this.continueButton.textContent = this.typewriter.isComplete
          ? 'Continue'
          : 'Skip';
      }
    
      finish() {
        this.finished = true;
        this.nameElement.textContent = '';
        this.textElement.textContent = '— End —';
        this.continueButton.disabled = true;
        this.continueButton.textContent = 'Finished';
      }
    }
    
    // Minimal browser setup: the manager creates its own visual-novel dialogue box.
    document.body.innerHTML = `
      <main class="vn" aria-live="polite">
        <div class="portrait" aria-hidden="true">✦</div>
        <section class="dialogue-box">
          <strong class="speaker"></strong>
          <p class="dialogue-text" tabindex="0"></p>
          <button class="continue" type="button">Continue</button>
        </section>
      </main>
    `;
    
    document.head.insertAdjacentHTML('beforeend', `
      <style>
        * { box-sizing: border-box; }
        body {
          margin: 0;
          min-height: 100vh;
          display: grid;
          place-items: center;
          background: #171522;
          color: #fff;
          font: 16px/1.6 system-ui, sans-serif;
        }
        .vn { width: min(720px, 92vw); }
        .portrait {
          margin: 0 auto 1rem;
          width: 120px;
          height: 120px;
          display: grid;
          place-items: center;
          border-radius: 50%;
          background: #7659b8;
          font-size: 4rem;
        }
        .dialogue-box {
          position: relative;
          padding: 1.5rem;
          border: 2px solid #7659b8;
          border-radius: 12px;
          background: #242033;
        }
        .speaker { color: #d7bdff; font-size: 1.15rem; }
        .dialogue-text { min-height: 4.8em; cursor: pointer; }
        .continue { float: right; padding: .55rem 1rem; cursor: pointer; }
      </style>
    `);
    
    new DialogueManager({
      nameElement: document.querySelector('.speaker'),
      textElement: document.querySelector('.dialogue-text'),
      continueButton: document.querySelector('.continue'),
      dialogues: [
        { speaker: 'Mira', text: 'The station clock stopped at midnight.' },
        { speaker: 'Jonah', text: 'Then we still have time to change what happens next.' },
        { speaker: 'Mira', text: 'Click, tap, Enter, or Space to continue. During typing, the same action skips to the full line.' }
      ]
    });
    
    References
    4
    1. giovanemere/Edisson-Giovanni-Z-Lopezassets/js/script.js

      Includes a JavaScript TypeWriter class implementing a text typewriter animation (with delete/rewrite), matching the core “typewriter text effect” part of the request, but it does not use requestAnimationFrame nor implement a “skip to full text”/visual-novel dialogue manager flow.

      codeMIT
    2. lanpartis/avg-game-frameworkEpic: avg-game-framework-yaml-config

      Strong match for a JavaScript visual-novel/dialogue manager architecture including a dialogue system with typewriter effect and explicit skip functionality; not actual requestAnimationFrame implementation code but directly addresses the requested components in a declarative framework design.

      issueMIT
    3. bryanstanleyyy/Bryan-Websiteanimations.js

      Provides a JavaScript typewriter effect implementation (TypeWriter class) and dialogue-adjacent UI animation using requestAnimationFrame, including how to render/skip-like transitions in a web VN-style page; direct match to typewriter request, though not a full “dialogue manager with skip” architecture.

      codeMIT
    4. lanpartis/avg-game-frameworkEpic: avg-game-framework-yaml-config

      Issue/epic describing a JavaScript adventure/visual-novel framework with a “Dialogue system” including typewriter effect and skip functionality; useful for architecture but lacks concrete implementation details in the provided content.

      issueMIT
    Request⌄

    Request payload

    {
      "query": "typewriter text effect requestAnimationFrame with skip to full text, visual novel dialogue manager",
      "language": "javascript",
      "license_mode": "strict"
    }
  282. 282
    +2:00:36Code ReadCode navigationthree9.6 sCompleted⌄
    Started
    Aug 7, 2026, 3:14:30 PM UTC
    Ended
    Aug 7, 2026, 3:14:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 200,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 81,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 200,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L120-L200",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 120
        }
      ],
      "start_line": 120,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 200,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 120,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 200,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 81,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 200,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L120-L200",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 120
          }
        ],
        "start_line": 120,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  283. 283
    +2:00:47Code GrepCode navigationthree“setAttribute|setIndex”2.3 sCompleted⌄

    setAttribute|setIndex

    Started
    Aug 7, 2026, 3:14:42 PM UTC
    Ended
    Aug 7, 2026, 3:14:44 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/geometries/PolyhedronGeometry.js",
        "src/geometries/PolyhedronGeometry.js",
        "src/geometries/PolyhedronGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 64,
          "file_path": "src/geometries/PolyhedronGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L60-L64",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 65,
          "file_path": "src/geometries/PolyhedronGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L61-L65",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 61
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66,
          "file_path": "src/geometries/PolyhedronGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L62-L66",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 62
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/geometries/PolyhedronGeometry.js"
        }
      ],
      "pattern": "setAttribute|setIndex",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/geometries/PolyhedronGeometry.js",
          "src/geometries/PolyhedronGeometry.js",
          "src/geometries/PolyhedronGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 64,
            "file_path": "src/geometries/PolyhedronGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L60-L64",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 65,
            "file_path": "src/geometries/PolyhedronGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L61-L65",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 61
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66,
            "file_path": "src/geometries/PolyhedronGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L62-L66",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 62
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  284. 284
    +2:00:55Get ExampleGenerated exampleaccessible menu list keyboard arrow key navigation with roving tabindex aria-activedescendant plus gamepad d-pad and analog stick navigation with repeat delay2 sources46 sCompleted⌄

    accessible menu list keyboard arrow key navigation with roving tabindex aria-activedescendant plus gamepad d-pad and analog stick navigation with repeat delay · javascript · strict

    Started
    Aug 7, 2026, 3:14:50 PM UTC
    Ended
    Aug 7, 2026, 3:15:36 PM UTC
    Outcome
    Result returned
    Targets
    2

    Accessible Menu Navigation with Keyboard and Gamepad

    // Browser example: keyboard roving tabindex, aria-activedescendant, and gamepad navigation.
    
    const app = document.createElement('main');
    app.innerHTML = `
      <h1>Input method demo</h1>
    
      <h2>Roving tabindex menu</h2>
      <div id="roving-menu" role="menu" aria-label="Actions"></div>
    
      <h2>aria-activedescendant listbox</h2>
      <div id="active-menu" role="listbox" aria-label="Colors" tabindex="0"></div>
    
      <p id="status" aria-live="polite"></p>
    `;
    document.body.append(app);
    
    const options = ['New file', 'Open file', 'Save file', 'Close file'];
    const colors = ['Red', 'Green', 'Blue', 'Yellow'];
    const status = document.querySelector('#status');
    
    function createItems(container, values, role) {
      container.replaceChildren(...values.map((label, index) => {
        const item = document.createElement('button');
        item.type = 'button';
        item.textContent = label;
        item.id = `${container.id}-item-${index}`;
        item.setAttribute('role', role);
        item.tabIndex = -1;
        return item;
      }));
    }
    
    createItems(document.querySelector('#roving-menu'), options, 'menuitem');
    createItems(document.querySelector('#active-menu'), colors, 'option');
    
    function createNavigator(container, {
      mode = 'tabindex',
      orientation = 'vertical',
      wrap = true,
      onActivate = () => {}
    } = {}) {
      let index = 0;
      let items = [];
    
      const refresh = () => {
        items = [...container.querySelectorAll('[role="menuitem"], [role="option"]')];
        if (!items.length) return;
        index = Math.max(0, Math.min(index, items.length - 1));
    
        items.forEach((item, i) => {
          const selected = i === index;
          item.setAttribute('aria-selected', String(selected));
    
          if (mode === 'tabindex') {
            item.tabIndex = selected ? 0 : -1;
          } else {
            item.classList.toggle('active', selected);
          }
        });
    
        if (mode === 'activedescendant') {
          container.setAttribute('aria-activedescendant', items[index].id);
        }
      };
    
      const focusCurrent = () => {
        if (mode === 'tabindex') items[index]?.focus();
        else container.focus();
      };
    
      const move = (delta) => {
        if (!items.length) return;
        const next = index + delta;
        index = wrap
          ? (next + items.length) % items.length
          : Math.max(0, Math.min(next, items.length - 1));
        refresh();
        focusCurrent();
      };
    
      const activate = () => {
        const item = items[index];
        if (!item) return;
        onActivate(item.textContent, index);
      };
    
      const handleKeyDown = (event) => {
        const vertical = orientation === 'vertical';
        const forward = vertical ? 'ArrowDown' : 'ArrowRight';
        const backward = vertical ? 'ArrowUp' : 'ArrowLeft';
    
        if (event.key === forward) {
          event.preventDefault();
          move(1);
        } else if (event.key === backward) {
          event.preventDefault();
          move(-1);
        } else if (event.key === 'Home') {
          event.preventDefault();
          index = 0;
          refresh();
          focusCurrent();
        } else if (event.key === 'End') {
          event.preventDefault();
          index = items.length - 1;
          refresh();
          focusCurrent();
        } else if (event.key === 'Enter' || event.key === ' ') {
          event.preventDefault();
          activate();
        }
      };
    
      container.addEventListener('keydown', handleKeyDown);
      container.addEventListener('click', (event) => {
        const clicked = event.target.closest('[role="menuitem"], [role="option"]');
        const clickedIndex = items.indexOf(clicked);
        if (clickedIndex < 0) return;
        index = clickedIndex;
        refresh();
        activate();
      });
    
      refresh();
      return {
        move,
        activate,
        focus: focusCurrent,
        get index() { return index; },
        get size() { return items.length; }
      };
    }
    
    const rovingNavigator = createNavigator(document.querySelector('#roving-menu'), {
      mode: 'tabindex',
      onActivate: (label) => { status.textContent = `Activated: ${label}`; }
    });
    
    const activeDescendantNavigator = createNavigator(document.querySelector('#active-menu'), {
      mode: 'activedescendant',
      onActivate: (label) => { status.textContent = `Selected: ${label}`; }
    });
    
    // Gamepad navigation uses the same movement API as keyboard navigation.
    class GamepadNavigator {
      constructor(navigator, {
        gamepadIndex = 0,
        deadzone = 0.35,
        initialDelay = 450,
        repeatDelay = 120
      } = {}) {
        this.navigator = navigator;
        this.gamepadIndex = gamepadIndex;
        this.deadzone = deadzone;
        this.initialDelay = initialDelay;
        this.repeatDelay = repeatDelay;
        this.nextMoveAt = 0;
        this.lastDirection = 0;
        this.frame = this.frame.bind(this);
        requestAnimationFrame(this.frame);
      }
    
      direction(gamepad) {
        // Standard mapping: D-pad buttons 12/13, then the left analog stick axis 1.
        const dpad = (gamepad.buttons[12]?.pressed ? 1 : 0) -
          (gamepad.buttons[13]?.pressed ? 1 : 0);
        if (dpad) return dpad;
    
        const axis = gamepad.axes[1] ?? 0;
        if (Math.abs(axis) < this.deadzone) return 0;
        return axis > 0 ? 1 : -1;
      }
    
      frame(now) {
        const gamepad = navigator.getGamepads?.()[this.gamepadIndex];
        if (gamepad) {
          const direction = this.direction(gamepad);
    
          if (!direction) {
            this.lastDirection = 0;
            this.nextMoveAt = 0;
          } else if (direction !== this.lastDirection) {
            this.navigator.move(direction);
            this.lastDirection = direction;
            this.nextMoveAt = now + this.initialDelay;
          } else if (now >= this.nextMoveAt) {
            this.navigator.move(direction);
            this.nextMoveAt = now + this.repeatDelay;
          }
        }
    
        requestAnimationFrame(this.frame);
      }
    }
    
    // Connect the first gamepad to the roving menu; change the navigator to control the
    // aria-activedescendant menu instead if that is the active widget in your application.
    new GamepadNavigator(rovingNavigator);
    
    window.addEventListener('gamepadconnected', (event) => {
      status.textContent = `Gamepad connected: ${event.gamepad.id}`;
    });
    
    window.addEventListener('gamepaddisconnected', () => {
      status.textContent = 'Gamepad disconnected';
    });
    
    References
    2
    1. shuxueshuxue/Spexcodespec-dashboard/src/ReviewShell.jsx

      Implements accessible keyboard roving/tabindex for a menu via arrow keys (ArrowUp/ArrowDown/Home/End) and uses aria-activedescendant with a listbox/menu structure; includes rovingIndex logic. Lacks explicit gamepad D-pad/analog repeat-delay handling from the query terms.

      codeMIT
    2. jvoltci/nilamsrc/behaviours/roving.mjs

      Direct JavaScript implementation of roving tabindex with an option to use aria-activedescendant, including ArrowUp/Down/Left/Right handling plus typeahead and activation logic—strong match for accessible menu keyboard navigation; gamepad d-pad/analog repeat-delay not shown.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "accessible menu list keyboard arrow key navigation with roving tabindex aria-activedescendant plus gamepad d-pad and analog stick navigation with repeat delay",
      "language": "javascript",
      "license_mode": "strict"
    }
  285. 285
    +2:01:52Code ReadCode navigationthree526 msCompleted⌄
    Started
    Aug 7, 2026, 3:15:47 PM UTC
    Ended
    Aug 7, 2026, 3:15:47 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 17,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 17,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 17,
          "file_path": "src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js#L1-L17",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 17
    }
    Request⌄

    Request payload

    {
      "end_line": 30,
      "file_path": "src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 17,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 17,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 17,
            "file_path": "src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js#L1-L17",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 17
      },
      "title": null,
      "content": null
    }
  286. 286
    +2:01:54Code ReadCode navigationthree1.7 sCompleted⌄
    Started
    Aug 7, 2026, 3:15:49 PM UTC
    Ended
    Aug 7, 2026, 3:15:51 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 19,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 19,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 19,
          "file_path": "src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js#L1-L19",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 19
    }
    Request⌄

    Request payload

    {
      "end_line": 30,
      "file_path": "src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 19,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 19,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 19,
            "file_path": "src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js#L1-L19",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 19
      },
      "title": null,
      "content": null
    }
  287. 287
    +2:02:10Code GrepCode navigationthree“this\.(setScissorTest|setViewport|setScissor|clearDepth|autoClear) =”449 msCompleted⌄

    this\.(setScissorTest|setViewport|setScissor|clearDepth|autoClear) =

    Started
    Aug 7, 2026, 3:16:05 PM UTC
    Ended
    Aug 7, 2026, 3:16:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 200,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L196-L200",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 196
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 798,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L794-L798",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 794
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 835,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L831-L835",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 831
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 869,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L865-L869",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 865
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1043,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1039-L1043",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1039
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "this\\.(setScissorTest|setViewport|setScissor|clearDepth|autoClear) =",
      "pattern_type": "REGEX",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 200,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L196-L200",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 196
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 798,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L794-L798",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 794
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 835,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L831-L835",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 831
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 869,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L865-L869",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 865
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1043,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1039-L1043",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1039
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  288. 288
    +2:02:18Code ReadCode navigationthree202 msCompleted⌄
    Started
    Aug 7, 2026, 3:16:12 PM UTC
    Ended
    Aug 7, 2026, 3:16:12 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 830,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 35,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 830,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L796-L830",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 796
        }
      ],
      "start_line": 796,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 830,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 796,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 830,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 35,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 830,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L796-L830",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 796
          }
        ],
        "start_line": 796,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  289. 289
    +2:02:25Code GrepCode navigationthree“enableAll(”1.2 sCompleted⌄

    enableAll(

    Started
    Aug 7, 2026, 3:16:19 PM UTC
    Ended
    Aug 7, 2026, 3:16:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Layers.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 59,
          "file_path": "src/core/Layers.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L53-L59",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 53
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Layers.js"
        }
      ],
      "pattern": "enableAll(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Layers.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 59,
            "file_path": "src/core/Layers.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L53-L59",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 53
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  290. 290
    +2:02:28Code GrepCode navigationthree“setFromObject( object, precise”177 msCompleted⌄

    setFromObject( object, precise

    Started
    Aug 7, 2026, 3:16:23 PM UTC
    Ended
    Aug 7, 2026, 3:16:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Box3.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 161,
          "file_path": "src/math/Box3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L149-L161",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 149
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Box3.js"
        }
      ],
      "pattern": "setFromObject( object, precise",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Box3.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 161,
            "file_path": "src/math/Box3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Box3.js#L149-L161",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 149
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  291. 291
    +2:16:24Code GrepCode navigationthree“this.getViewport = function”2.1 sCompleted⌄

    this.getViewport = function

    Started
    Aug 7, 2026, 3:30:18 PM UTC
    Ended
    Aug 7, 2026, 3:30:20 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 785,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L777-L785",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 777
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "this.getViewport = function",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 785,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L777-L785",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 777
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  292. 292
    +2:50:28Code GrepCode navigationthree“dispose”6.2 sCompleted⌄

    dispose

    Started
    Aug 7, 2026, 4:04:22 PM UTC
    Ended
    Aug 7, 2026, 4:04:29 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js",
        "src/core/BufferGeometry.js",
        "src/core/BufferGeometry.js",
        "src/core/BufferGeometry.js",
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 143,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L131-L143",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 131
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 632,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L620-L632",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 620
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1476,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1464-L1476",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1464
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1478,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1466-L1478",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1466
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1480,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1468-L1480",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1468
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "dispose",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js",
          "src/core/BufferGeometry.js",
          "src/core/BufferGeometry.js",
          "src/core/BufferGeometry.js",
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 143,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L131-L143",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 131
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 632,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L620-L632",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 620
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1476,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1464-L1476",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1464
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1478,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1466-L1478",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1466
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1480,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1468-L1480",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1468
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  293. 293
    +2:50:33Code GrepCode navigationthree“traverse( callback )”825 msCompleted⌄

    traverse( callback )

    Started
    Aug 7, 2026, 4:04:28 PM UTC
    Ended
    Aug 7, 2026, 4:04:28 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js",
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1080,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1060-L1080",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1060
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1088,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1068-L1088",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1068
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "traverse( callback )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js",
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1080,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1060-L1080",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1060
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1088,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1068-L1088",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1068
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  294. 294
    +2:50:46Code GrepCode navigationthree“info.autoReset”242 msCompleted⌄

    info.autoReset

    Started
    Aug 7, 2026, 4:04:41 PM UTC
    Ended
    Aug 7, 2026, 4:04:41 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 545,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L525-L545",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 525
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1127,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1107-L1127",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1107
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1135,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1115-L1135",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1115
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1712,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1692-L1712",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1692
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "info.autoReset",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 545,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L525-L545",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 525
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1127,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1107-L1127",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1107
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1135,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1115-L1135",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1115
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1712,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1692-L1712",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1692
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  295. 295
    +2:50:51SearchCode navigationthreeClock getDelta autoStart running oldTime3.5 sCompleted⌄

    Clock getDelta autoStart running oldTime

    Started
    Aug 7, 2026, 4:04:46 PM UTC
    Ended
    Aug 7, 2026, 4:04:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "completed": true,
      "freshness_counts": {
        "current": 1
      },
      "indexing_status_counts": {
        "indexed": 1
      },
      "outcome": "result_returned",
      "partial_results": false,
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 87,
          "file_path": "src/core/Clock.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Clock.js#L8-L87",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 8
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 56324,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L56199-L56324",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 56199
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 56344,
          "file_path": "build/three.core.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L56219-L56344",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 56219
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 131,
          "file_path": "src/core/Clock.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Clock.js#L107-L131",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 107
        }
      ],
      "result_type_counts": {
        "repository_code": 4
      },
      "results": [
        {
          "label": "Clock",
          "target": "npm:three@0.185.1",
          "type": "repository_code"
        },
        {
          "label": "Clock",
          "target": "npm:three@0.185.1",
          "type": "repository_code"
        },
        {
          "label": "Clock",
          "target": "npm:three@0.185.1",
          "type": "repository_code"
        },
        {
          "label": "getDelta",
          "target": "npm:three@0.185.1",
          "type": "repository_code"
        }
      ],
      "returned_results": 4,
      "search_ref_present": false,
      "source_counts": {
        "code": 1
      },
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "allow_partial_results": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "limit": 4,
      "offset": 0,
      "query": "Clock getDelta autoStart running oldTime",
      "sources": [
        "code"
      ],
      "targets": [
        {
          "name": "three",
          "registry": "npm",
          "version": "0.185.1"
        }
      ],
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "completed": true,
        "freshness_counts": {
          "current": 1
        },
        "indexing_status_counts": {
          "indexed": 1
        },
        "outcome": "result_returned",
        "partial_results": false,
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 87,
            "file_path": "src/core/Clock.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Clock.js#L8-L87",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 8
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 56324,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L56199-L56324",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 56199
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 56344,
            "file_path": "build/three.core.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.core.js#L56219-L56344",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 56219
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 131,
            "file_path": "src/core/Clock.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Clock.js#L107-L131",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 107
          }
        ],
        "result_type_counts": {
          "repository_code": 4
        },
        "results": [
          {
            "label": "Clock",
            "target": "npm:three@0.185.1",
            "type": "repository_code"
          },
          {
            "label": "Clock",
            "target": "npm:three@0.185.1",
            "type": "repository_code"
          },
          {
            "label": "Clock",
            "target": "npm:three@0.185.1",
            "type": "repository_code"
          },
          {
            "label": "getDelta",
            "target": "npm:three@0.185.1",
            "type": "repository_code"
          }
        ],
        "returned_results": 4,
        "search_ref_present": false,
        "source_counts": {
          "code": 1
        },
        "status": "success"
      },
      "title": null,
      "content": null
    }
  296. 296
    +2:51:09Code GrepCode navigationthree“preserveDrawingBuffer”1.0 sCompleted⌄

    preserveDrawingBuffer

    Started
    Aug 7, 2026, 4:05:04 PM UTC
    Ended
    Aug 7, 2026, 4:05:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.min.js",
        "build/three.module.min.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 16078,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L16070-L16078",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 16070
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 16376,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L16368-L16376",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 16368
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "build/three.module.min.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L2-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "build/three.module.min.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L2-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 84,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L76-L84",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 76
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 382,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L374-L382",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 374
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3633,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3625-L3633",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3625
        }
      ],
      "returned_matches": 7,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [
        "js"
      ],
      "include_hidden": false,
      "max_matches": 20,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "preserveDrawingBuffer",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.min.js",
          "build/three.module.min.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 16078,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L16070-L16078",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 16070
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 16376,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L16368-L16376",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 16368
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "build/three.module.min.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L2-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "build/three.module.min.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L2-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 84,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L76-L84",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 76
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 382,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L374-L382",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 374
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3633,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3625-L3633",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3625
          }
        ],
        "returned_matches": 7,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  297. 297
    +2:51:12Code GrepCode navigationthree{"errors":[{"code":"GREP_FAILED","message":"failed to read GREP posting blocks: Failed to get coalesced range [10424224..10428703) from: packs/grep/4d67e930bd3a23d0d22e30c9dc0f1b6c.pack. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}342 msError⌄

    {"errors":[{"code":"GREP_FAILED","message":"failed to read GREP posting blocks: Failed to get coalesced range [10424224..10428703) from: packs/grep/4d67e930bd3a23d0d22e30c9dc0f1b6c.pack. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}

    addUpdateRange

    Started
    Aug 7, 2026, 4:05:07 PM UTC
    Ended
    Aug 7, 2026, 4:05:07 PM UTC
    Targets
    0

    Result summary

    {
      "errors": [
        {
          "code": "GREP_FAILED",
          "message": "failed to read GREP posting blocks: Failed to get coalesced range [10424224..10428703) from: packs/grep/4d67e930bd3a23d0d22e30c9dc0f1b6c.pack. Unexpected backend error; retry, and report if it persists."
        }
      ],
      "next_cursor_present": false,
      "status": "error"
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 25,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "addUpdateRange",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "errors": [
          {
            "code": "GREP_FAILED",
            "message": "failed to read GREP posting blocks: Failed to get coalesced range [10424224..10428703) from: packs/grep/4d67e930bd3a23d0d22e30c9dc0f1b6c.pack. Unexpected backend error; retry, and report if it persists."
          }
        ],
        "next_cursor_present": false,
        "status": "error"
      },
      "title": null,
      "content": null
    }
  298. 298
    +2:51:20Code GrepCode navigationthree“addUpdateRange”1.0 sCompleted⌄

    addUpdateRange

    Started
    Aug 7, 2026, 4:05:14 PM UTC
    Ended
    Aug 7, 2026, 4:05:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferAttribute.js",
        "src/core/BufferAttribute.js",
        "src/core/InterleavedBuffer.js",
        "src/core/InterleavedBuffer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L110-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 110
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 186,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L176-L186",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 176
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 69,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L59-L69",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 59
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 132,
          "file_path": "src/core/InterleavedBuffer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L122-L132",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 122
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/core"
        }
      ],
      "pattern": "addUpdateRange",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferAttribute.js",
          "src/core/BufferAttribute.js",
          "src/core/InterleavedBuffer.js",
          "src/core/InterleavedBuffer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L110-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 110
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 186,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L176-L186",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 176
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 69,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L59-L69",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 59
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 132,
            "file_path": "src/core/InterleavedBuffer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/InterleavedBuffer.js#L122-L132",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 122
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  299. 299
    +2:51:22Code GrepCode navigationthree“customProgramCacheKey”758 msCompleted⌄

    customProgramCacheKey

    Started
    Aug 7, 2026, 4:05:16 PM UTC
    Ended
    Aug 7, 2026, 4:05:17 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/common/RenderObject.js",
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 739,
          "file_path": "src/renderers/common/RenderObject.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderObject.js#L729-L739",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 729
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 387,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L377-L387",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 377
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 387,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L377-L387",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 377
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 437,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L427-L437",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 427
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 15,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers"
        }
      ],
      "pattern": "customProgramCacheKey",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/common/RenderObject.js",
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 739,
            "file_path": "src/renderers/common/RenderObject.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/common/RenderObject.js#L729-L739",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 729
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 387,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L377-L387",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 377
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 387,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L377-L387",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 377
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 437,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L427-L437",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 427
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  300. 300
    +2:52:19Code GrepCode navigationthree“preserveDrawingBuffer”9.2 sCompleted⌄

    preserveDrawingBuffer

    Started
    Aug 7, 2026, 4:06:14 PM UTC
    Ended
    Aug 7, 2026, 4:06:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 83,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L77-L83",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 77
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 381,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L375-L381",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 375
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 3632,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3626-L3632",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3626
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers"
        }
      ],
      "pattern": "preserveDrawingBuffer",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 83,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L77-L83",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 77
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 381,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L375-L381",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 375
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 3632,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L3626-L3632",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3626
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  301. 301
    +2:52:33Code GrepCode navigationthree“nMips”5.3 sCompleted⌄

    nMips

    Started
    Aug 7, 2026, 4:06:28 PM UTC
    Ended
    Aug 7, 2026, 4:06:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js",
        "examples/jsm/postprocessing/UnrealBloomPass.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 109,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L93-L109",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 93
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 117,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L101-L117",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 101
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 162,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L146-L162",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 146
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 176,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L160-L176",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 160
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 265,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L249-L265",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 249
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 328,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L312-L328",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 312
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 456,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L440-L456",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 440
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 461,
          "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L445-L461",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 445
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "examples/jsm/postprocessing"
        }
      ],
      "pattern": "nMips",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js",
          "examples/jsm/postprocessing/UnrealBloomPass.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 109,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L93-L109",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 93
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 117,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L101-L117",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 101
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 162,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L146-L162",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 146
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 176,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L160-L176",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 160
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 265,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L249-L265",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 249
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 328,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L312-L328",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 312
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 456,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L440-L456",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 440
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 461,
            "file_path": "examples/jsm/postprocessing/UnrealBloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/UnrealBloomPass.js#L445-L461",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 445
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  302. 302
    +2:52:33Code GrepCode navigationthree“onBeforeCompile”4.2 sCompleted⌄

    onBeforeCompile

    Started
    Aug 7, 2026, 4:06:28 PM UTC
    Ended
    Aug 7, 2026, 4:06:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2222,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2210-L2222",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2210
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 20,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers"
        }
      ],
      "pattern": "onBeforeCompile",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2222,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2210-L2222",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2210
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  303. 303
    +2:52:34Code GrepCode navigationthree“vViewPosition”220 msCompleted⌄

    vViewPosition

    Started
    Aug 7, 2026, 4:06:29 PM UTC
    Ended
    Aug 7, 2026, 4:06:29 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
        "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
        "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
        "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
        "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
        "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
        "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
        "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
        "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
        "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
        "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
        "src/renderers/shaders/ShaderLib/meshtoon.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshlambert.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 46,
          "file_path": "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshlambert.glsl.js#L40-L46",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 47,
          "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L41-L47",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 41
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 59,
          "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L53-L59",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 53
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 90,
          "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L84-L90",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 84
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 9,
          "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L3-L9",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 46,
          "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L40-L46",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60,
          "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L54-L60",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 54
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphong.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 46,
          "file_path": "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphong.glsl.js#L40-L46",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 51,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L45-L51",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 45
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 133,
          "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L127-L133",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 127
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshtoon.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 45,
          "file_path": "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshtoon.glsl.js#L39-L45",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 39
        }
      ],
      "returned_matches": 16,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 16,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 30,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders/ShaderLib"
        }
      ],
      "pattern": "vViewPosition",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
          "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
          "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
          "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
          "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
          "src/renderers/shaders/ShaderLib/meshtoon.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshlambert.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 46,
            "file_path": "src/renderers/shaders/ShaderLib/meshlambert.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshlambert.glsl.js#L40-L46",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 47,
            "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L41-L47",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 41
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 59,
            "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L53-L59",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 53
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 90,
            "file_path": "src/renderers/shaders/ShaderLib/meshmatcap.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js#L84-L90",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 84
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 9,
            "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L3-L9",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 46,
            "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L40-L46",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60,
            "file_path": "src/renderers/shaders/ShaderLib/meshnormal.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshnormal.glsl.js#L54-L60",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 54
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphong.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 46,
            "file_path": "src/renderers/shaders/ShaderLib/meshphong.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphong.glsl.js#L40-L46",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 51,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L45-L51",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 45
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 133,
            "file_path": "src/renderers/shaders/ShaderLib/meshphysical.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshphysical.glsl.js#L127-L133",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 127
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshtoon.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 45,
            "file_path": "src/renderers/shaders/ShaderLib/meshtoon.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderLib/meshtoon.glsl.js#L39-L45",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 39
          }
        ],
        "returned_matches": 16,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 16,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  304. 304
    +2:52:51Code ReadCode navigationthree8.8 sCompleted⌄
    Started
    Aug 7, 2026, 4:06:45 PM UTC
    Ended
    Aug 7, 2026, 4:06:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 2240,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 66,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2240,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2175-L2240",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2175
        }
      ],
      "start_line": 2175,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 2240,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 2175,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 2240,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 66,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2240,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2175-L2240",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2175
          }
        ],
        "start_line": 2175,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  305. 305
    +2:52:55Code GrepCode navigationthree{"errors":[{"code":"GREP_FAILED","message":"failed to fetch GREP verification inputs concurrently: Failed to get remote object: cas/f7b27667814192caf0c61ff809cf5f5af87bbc0106cac7690b083d49f285b3df. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}3.8 sError⌄

    {"errors":[{"code":"GREP_FAILED","message":"failed to fetch GREP verification inputs concurrently: Failed to get remote object: cas/f7b27667814192caf0c61ff809cf5f5af87bbc0106cac7690b083d49f285b3df. Unexpected backend error; retry, and report if it persists."}],"next_cursor_present":false,"status":"error"}

    matrixWorldInverse.copy

    Started
    Aug 7, 2026, 4:06:50 PM UTC
    Ended
    Aug 7, 2026, 4:06:54 PM UTC
    Targets
    0

    Result summary

    {
      "errors": [
        {
          "code": "GREP_FAILED",
          "message": "failed to fetch GREP verification inputs concurrently: Failed to get remote object: cas/f7b27667814192caf0c61ff809cf5f5af87bbc0106cac7690b083d49f285b3df. Unexpected backend error; retry, and report if it persists."
        }
      ],
      "next_cursor_present": false,
      "status": "error"
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "matrixWorldInverse.copy",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "errors": [
          {
            "code": "GREP_FAILED",
            "message": "failed to fetch GREP verification inputs concurrently: Failed to get remote object: cas/f7b27667814192caf0c61ff809cf5f5af87bbc0106cac7690b083d49f285b3df. Unexpected backend error; retry, and report if it persists."
          }
        ],
        "next_cursor_present": false,
        "status": "error"
      },
      "title": null,
      "content": null
    }
  306. 306
    +2:52:56Code ReadCode navigationthree718 msCompleted⌄
    Started
    Aug 7, 2026, 4:06:51 PM UTC
    Ended
    Aug 7, 2026, 4:06:52 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 110,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 75,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L36-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 36
        }
      ],
      "start_line": 36,
      "status": "success",
      "total_lines": 365
    }
    Request⌄

    Request payload

    {
      "end_line": 110,
      "file_path": "examples/jsm/postprocessing/EffectComposer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 36,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 110,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 75,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L36-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 36
          }
        ],
        "start_line": 36,
        "status": "success",
        "total_lines": 365
      },
      "title": null,
      "content": null
    }
  307. 307
    +2:53:00Code ReadCode navigationthree3.0 sCompleted⌄
    Started
    Aug 7, 2026, 4:06:55 PM UTC
    Ended
    Aug 7, 2026, 4:06:58 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 360,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 360,
          "file_path": "examples/jsm/postprocessing/EffectComposer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L300-L360",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 300
        }
      ],
      "start_line": 300,
      "status": "success",
      "total_lines": 365
    }
    Request⌄

    Request payload

    {
      "end_line": 360,
      "file_path": "examples/jsm/postprocessing/EffectComposer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 300,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 360,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 360,
            "file_path": "examples/jsm/postprocessing/EffectComposer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/EffectComposer.js#L300-L360",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 300
          }
        ],
        "start_line": 300,
        "status": "success",
        "total_lines": 365
      },
      "title": null,
      "content": null
    }
  308. 308
    +2:53:12Code GrepCode navigationthree“matrixWorldInverse”6.6 sCompleted⌄

    matrixWorldInverse

    Started
    Aug 7, 2026, 4:07:07 PM UTC
    Ended
    Aug 7, 2026, 4:07:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1668,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1648-L1668",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1648
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2138,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2118-L2138",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2118
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2582,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2562-L2582",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2562
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "matrixWorldInverse",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1668,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1648-L1668",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1648
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2138,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2118-L2138",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2118
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2582,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2562-L2582",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2562
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  309. 309
    +2:53:24Code ReadCode navigationthree2.5 sCompleted⌄
    Started
    Aug 7, 2026, 4:07:18 PM UTC
    Ended
    Aug 7, 2026, 4:07:21 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 100,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L40-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        }
      ],
      "start_line": 40,
      "status": "success",
      "total_lines": 160
    }
    Request⌄

    Request payload

    {
      "end_line": 100,
      "file_path": "src/cameras/Camera.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 40,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 100,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L40-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          }
        ],
        "start_line": 40,
        "status": "success",
        "total_lines": 160
      },
      "title": null,
      "content": null
    }
  310. 310
    +2:53:33Code GrepCode navigationthree“instanceMatrix.needsUpdate”1.2 sNo result⌄

    instanceMatrix.needsUpdate

    Started
    Aug 7, 2026, 4:07:28 PM UTC
    Ended
    Aug 7, 2026, 4:07:29 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src"
        }
      ],
      "pattern": "instanceMatrix.needsUpdate",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  311. 311
    +2:53:37Code GrepCode navigationthree“DynamicDrawUsage”2.6 sNo result⌄

    DynamicDrawUsage

    Started
    Aug 7, 2026, 4:07:31 PM UTC
    Ended
    Aug 7, 2026, 4:07:34 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/objects"
        }
      ],
      "pattern": "DynamicDrawUsage",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  312. 312
    +2:53:42Code GrepCode navigationthree“updateMatrixWorld”1.4 sCompleted⌄

    updateMatrixWorld

    Started
    Aug 7, 2026, 4:07:36 PM UTC
    Ended
    Aug 7, 2026, 4:07:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/cameras/Camera.js",
        "src/cameras/Camera.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 122,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L102-L122",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 102
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 124,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L104-L124",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 104
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/cameras/Camera.js"
        }
      ],
      "pattern": "updateMatrixWorld",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/cameras/Camera.js",
          "src/cameras/Camera.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 122,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L102-L122",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 102
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 124,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L104-L124",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 104
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  313. 313
    +2:53:45Code GrepCode navigationthree“updateRanges”2.2 sCompleted⌄

    updateRanges

    Started
    Aug 7, 2026, 4:07:40 PM UTC
    Ended
    Aug 7, 2026, 4:07:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js",
        "src/renderers/webgl-fallback/WebGLBackend.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1873,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1853-L1873",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1853
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1873,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1853-L1873",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1853
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1877,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1857-L1877",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1857
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1886,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1866-L1886",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1866
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1888,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1868-L1888",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1868
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1933,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1913-L1933",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1913
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1933,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1913-L1933",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1913
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1937,
          "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1917-L1937",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1917
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/webgl"
        }
      ],
      "pattern": "updateRanges",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js",
          "src/renderers/webgl-fallback/WebGLBackend.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1873,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1853-L1873",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1853
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1873,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1853-L1873",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1853
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1877,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1857-L1877",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1857
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1886,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1866-L1886",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1866
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1888,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1868-L1888",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1868
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1933,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1913-L1933",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1913
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1933,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1913-L1933",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1913
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1937,
            "file_path": "src/renderers/webgl-fallback/WebGLBackend.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl-fallback/WebGLBackend.js#L1917-L1937",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1917
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  314. 314
    +2:53:55Code GrepCode navigationthree“bufferSubData”1.4 sCompleted⌄

    bufferSubData

    Started
    Aug 7, 2026, 4:07:49 PM UTC
    Ended
    Aug 7, 2026, 4:07:51 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L80-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 80
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 105,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L85-L105",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 85
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 152,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L132-L152",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 132
        }
      ],
      "returned_matches": 3,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLAttributes.js"
        }
      ],
      "pattern": "bufferSubData",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L80-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 80
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 105,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L85-L105",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 85
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 152,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L132-L152",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 132
          }
        ],
        "returned_matches": 3,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  315. 315
    +2:54:19Code ReadCode navigationthree166 msCompleted⌄
    Started
    Aug 7, 2026, 4:08:13 PM UTC
    Ended
    Aug 7, 2026, 4:08:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 340,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 41,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 340,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L300-L340",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 300
        }
      ],
      "start_line": 300,
      "status": "success",
      "total_lines": 411
    }
    Request⌄

    Request payload

    {
      "end_line": 340,
      "file_path": "src/objects/InstancedMesh.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 300,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 340,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 41,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 340,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L300-L340",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 300
          }
        ],
        "start_line": 300,
        "status": "success",
        "total_lines": 411
      },
      "title": null,
      "content": null
    }
  316. 316
    +2:54:35Code GrepCode navigationthree“material.needsUpdate”182 msCompleted⌄

    material.needsUpdate

    Started
    Aug 7, 2026, 4:08:29 PM UTC
    Ended
    Aug 7, 2026, 4:08:30 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1359,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1343-L1359",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1343
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1363,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1347-L1363",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1347
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2073,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2057-L2073",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2057
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2078,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2062-L2078",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2062
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2144,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2128-L2144",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2128
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2148,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2132-L2148",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2132
        }
      ],
      "returned_matches": 6,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "material.needsUpdate",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1359,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1343-L1359",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1343
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1363,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1347-L1363",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1347
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2073,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2057-L2073",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2057
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2078,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2062-L2078",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2062
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2144,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2128-L2144",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2128
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2148,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2132-L2148",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2132
          }
        ],
        "returned_matches": 6,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  317. 317
    +2:55:50Code GrepCode navigationthree“getObjectByProperty”179 msCompleted⌄

    getObjectByProperty

    Started
    Aug 7, 2026, 4:09:45 PM UTC
    Ended
    Aug 7, 2026, 4:09:45 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js",
        "src/core/Object3D.js",
        "src/core/Object3D.js",
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 929,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L909-L929",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 909
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 942,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L922-L942",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 922
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 954,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L934-L954",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 934
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 961,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L941-L961",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 941
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "getObjectByProperty",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js",
          "src/core/Object3D.js",
          "src/core/Object3D.js",
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 929,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L909-L929",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 909
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 942,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L922-L942",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 922
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 954,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L934-L954",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 934
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 961,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L941-L961",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 941
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  318. 318
    +2:56:18Code ReadCode navigationthree2.0 sCompleted⌄
    Started
    Aug 7, 2026, 4:10:12 PM UTC
    Ended
    Aug 7, 2026, 4:10:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 121,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 82,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 121,
          "file_path": "src/core/Layers.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L40-L121",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        }
      ],
      "start_line": 40,
      "status": "success",
      "total_lines": 121
    }
    Request⌄

    Request payload

    {
      "end_line": 130,
      "file_path": "src/core/Layers.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 40,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 121,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 82,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 121,
            "file_path": "src/core/Layers.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L40-L121",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          }
        ],
        "start_line": 40,
        "status": "success",
        "total_lines": 121
      },
      "title": null,
      "content": null
    }
  319. 319
    +2:58:02Code GrepCode navigationthree“set needsUpdate”109 msCompleted⌄

    set needsUpdate

    Started
    Aug 7, 2026, 4:11:57 PM UTC
    Ended
    Aug 7, 2026, 4:11:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/materials/Material.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1212,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L1196-L1212",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1196
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/materials/Material.js"
        }
      ],
      "pattern": "set needsUpdate",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/materials/Material.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1212,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L1196-L1212",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1196
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  320. 320
    +2:58:03Code GrepCode navigationthree“onRotationChange”46 msCompleted⌄

    onRotationChange

    Started
    Aug 7, 2026, 4:11:57 PM UTC
    Ended
    Aug 7, 2026, 4:11:58 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js",
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 153,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L137-L153",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 137
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 165,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L149-L165",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 149
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "onRotationChange",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js",
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 153,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L137-L153",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 137
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 165,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L149-L165",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 149
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  321. 321
    +2:58:15Code GrepCode navigationthree-mesh-bvh“shapecast(”599 msCompleted⌄

    shapecast(

    Started
    Aug 7, 2026, 4:12:09 PM UTC
    Ended
    Aug 7, 2026, 4:12:10 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BVH.js",
        "src/core/LineBVH.js",
        "src/core/LineBVH.js",
        "src/core/LineBVH.js",
        "src/core/MeshBVH.js",
        "src/core/MeshBVH.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 352,
          "file_path": "src/core/BVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/BVH.js#L332-L352",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 332
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 98,
          "file_path": "src/core/LineBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L78-L98",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 78
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 101,
          "file_path": "src/core/LineBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L81-L101",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 81
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 127,
          "file_path": "src/core/LineBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L107-L127",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 107
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 635,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L615-L635",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 615
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 638,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L618-L638",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 618
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/core"
        }
      ],
      "pattern": "shapecast(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BVH.js",
          "src/core/LineBVH.js",
          "src/core/LineBVH.js",
          "src/core/LineBVH.js",
          "src/core/MeshBVH.js",
          "src/core/MeshBVH.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 352,
            "file_path": "src/core/BVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/BVH.js#L332-L352",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 332
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 98,
            "file_path": "src/core/LineBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L78-L98",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 78
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 101,
            "file_path": "src/core/LineBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L81-L101",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 81
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 127,
            "file_path": "src/core/LineBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/LineBVH.js#L107-L127",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 107
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 635,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L615-L635",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 615
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 638,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L618-L638",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 618
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  322. 322
    +2:58:38Code GrepCode navigationthree“boneTexture”127 msCompleted⌄

    boneTexture

    Started
    Aug 7, 2026, 4:12:33 PM UTC
    Ended
    Aug 7, 2026, 4:12:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/objects/Skeleton.js",
        "src/objects/Skeleton.js",
        "src/objects/Skeleton.js",
        "src/objects/Skeleton.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 74,
          "file_path": "src/objects/Skeleton.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L58-L74",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 58
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 88,
          "file_path": "src/objects/Skeleton.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L72-L88",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 72
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 212,
          "file_path": "src/objects/Skeleton.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L196-L212",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 196
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 212,
          "file_path": "src/objects/Skeleton.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L196-L212",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 196
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/objects/Skeleton.js"
        }
      ],
      "pattern": "boneTexture",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/objects/Skeleton.js",
          "src/objects/Skeleton.js",
          "src/objects/Skeleton.js",
          "src/objects/Skeleton.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 74,
            "file_path": "src/objects/Skeleton.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L58-L74",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 58
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 88,
            "file_path": "src/objects/Skeleton.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L72-L88",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 72
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 212,
            "file_path": "src/objects/Skeleton.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L196-L212",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 196
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 212,
            "file_path": "src/objects/Skeleton.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/Skeleton.js#L196-L212",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 196
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  323. 323
    +3:00:26Code GrepCode navigationthree“function getProgram”154 msCompleted⌄

    function getProgram

    Started
    Aug 7, 2026, 4:14:21 PM UTC
    Ended
    Aug 7, 2026, 4:14:21 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2165,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2145-L2165",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2145
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "function getProgram",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2165,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2145-L2165",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2145
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  324. 324
    +3:00:30Code ReadCode navigationthree137 msCompleted⌄
    Started
    Aug 7, 2026, 4:14:25 PM UTC
    Ended
    Aug 7, 2026, 4:14:25 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 2255,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 91,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2255,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2165-L2255",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2165
        }
      ],
      "start_line": 2165,
      "status": "success",
      "total_lines": 3703
    }
    Request⌄

    Request payload

    {
      "end_line": 2255,
      "file_path": "src/renderers/WebGLRenderer.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 2165,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 2255,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 91,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2255,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2165-L2255",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2165
          }
        ],
        "start_line": 2165,
        "status": "success",
        "total_lines": 3703
      },
      "title": null,
      "content": null
    }
  325. 325
    +3:00:38Code GrepCode navigationthree“needsProgramChange”152 msCompleted⌄

    needsProgramChange

    Started
    Aug 7, 2026, 4:14:32 PM UTC
    Ended
    Aug 7, 2026, 4:14:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2394,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2382-L2394",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2382
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2400,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2388-L2400",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2388
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2404,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2392-L2404",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2392
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2408,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2396-L2408",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2396
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2412,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2400-L2412",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2400
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "needsProgramChange",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2394,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2382-L2394",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2382
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2400,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2388-L2400",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2388
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2404,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2392-L2404",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2392
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2408,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2396-L2408",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2396
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2412,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2400-L2412",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2400
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  326. 326
    +3:00:46Code GrepCode navigationthree“state.version”217 msCompleted⌄

    state.version

    Started
    Aug 7, 2026, 4:14:40 PM UTC
    Ended
    Aug 7, 2026, 4:14:41 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLLights.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 493,
          "file_path": "src/renderers/webgl/WebGLLights.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLLights.js#L477-L493",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 477
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLLights.js"
        }
      ],
      "pattern": "state.version",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLLights.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 493,
            "file_path": "src/renderers/webgl/WebGLLights.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLLights.js#L477-L493",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 477
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  327. 327
    +3:01:04Code GrepCode navigationthree“function renderObject”243 msCompleted⌄

    function renderObject

    Started
    Aug 7, 2026, 4:14:59 PM UTC
    Ended
    Aug 7, 2026, 4:14:59 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLShadowMap.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 517,
          "file_path": "src/renderers/webgl/WebGLShadowMap.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLShadowMap.js#L497-L517",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 497
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLShadowMap.js"
        }
      ],
      "pattern": "function renderObject",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLShadowMap.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 517,
            "file_path": "src/renderers/webgl/WebGLShadowMap.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLShadowMap.js#L497-L517",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 497
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  328. 328
    +3:01:43Code GrepCode navigationthree“intersectsObject”269 msCompleted⌄

    intersectsObject

    Started
    Aug 7, 2026, 4:15:38 PM UTC
    Ended
    Aug 7, 2026, 4:15:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Frustum.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 156,
          "file_path": "src/math/Frustum.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Frustum.js#L136-L156",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 136
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Frustum.js"
        }
      ],
      "pattern": "intersectsObject",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Frustum.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 156,
            "file_path": "src/math/Frustum.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Frustum.js#L136-L156",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 136
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  329. 329
    +3:02:05Code ReadCode navigationthree273 msCompleted⌄
    Started
    Aug 7, 2026, 4:15:59 PM UTC
    Ended
    Aug 7, 2026, 4:16:00 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 340,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 51,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 340,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L290-L340",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 290
        }
      ],
      "start_line": 290,
      "status": "success",
      "total_lines": 405
    }
    Request⌄

    Request payload

    {
      "end_line": 340,
      "file_path": "src/core/RenderTarget.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 290,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 340,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 51,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 340,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L290-L340",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 290
          }
        ],
        "start_line": 290,
        "status": "success",
        "total_lines": 405
      },
      "title": null,
      "content": null
    }
  330. 330
    +3:02:13Code GrepCode navigationthree“_currentMaterialId”136 msCompleted⌄

    _currentMaterialId

    Started
    Aug 7, 2026, 4:16:07 PM UTC
    Ended
    Aug 7, 2026, 4:16:08 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 317,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L301-L317",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 301
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1800,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1784-L1800",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1784
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2383,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2367-L2383",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2367
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2544,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2528-L2544",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2528
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2546,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2530-L2546",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2530
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "_currentMaterialId",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 317,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L301-L317",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 301
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1800,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1784-L1800",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1784
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2383,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2367-L2383",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2367
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2544,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2528-L2544",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2528
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2546,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2530-L2546",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2530
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  331. 331
    +3:02:15Code GrepCode navigationthree“onInstancedMeshDispose”700 msCompleted⌄

    onInstancedMeshDispose

    Started
    Aug 7, 2026, 4:16:09 PM UTC
    Ended
    Aug 7, 2026, 4:16:10 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.module.js",
        "build/three.module.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 64707,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64687-L64707",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64687
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 64709,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64689-L64709",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64689
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 64753,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64733-L64753",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64733
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 64757,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64737-L64757",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64737
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 4729,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L4709-L4729",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 4709
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 4731,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L4711-L4731",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 4711
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "onInstancedMeshDispose",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.module.js",
          "build/three.module.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 64707,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64687-L64707",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64687
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 64709,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64689-L64709",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64689
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 64753,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64733-L64753",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64733
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 64757,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L64737-L64757",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64737
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 4729,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L4709-L4729",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 4709
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 4731,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L4711-L4731",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 4711
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  332. 332
    +3:02:46Code GrepCode navigationthree“UniformsUtils.clone”1.6 sCompleted⌄

    UniformsUtils.clone

    Started
    Aug 7, 2026, 4:16:40 PM UTC
    Ended
    Aug 7, 2026, 4:16:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/postprocessing/AfterimagePass.js",
        "examples/jsm/postprocessing/AfterimagePass.js",
        "examples/jsm/postprocessing/BloomPass.js",
        "examples/jsm/postprocessing/BloomPass.js",
        "examples/jsm/postprocessing/BokehPass.js",
        "examples/jsm/postprocessing/CubeTexturePass.js",
        "examples/jsm/postprocessing/DotScreenPass.js",
        "examples/jsm/postprocessing/FilmPass.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 50,
          "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js#L38-L50",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 38
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 73,
          "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js#L61-L73",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 61
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 52,
          "file_path": "examples/jsm/postprocessing/BloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js#L40-L52",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 80,
          "file_path": "examples/jsm/postprocessing/BloomPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js#L68-L80",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 68
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 85,
          "file_path": "examples/jsm/postprocessing/BokehPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BokehPass.js#L73-L85",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 73
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 82,
          "file_path": "examples/jsm/postprocessing/CubeTexturePass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/CubeTexturePass.js#L70-L82",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 70
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 49,
          "file_path": "examples/jsm/postprocessing/DotScreenPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/DotScreenPass.js#L37-L49",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 49,
          "file_path": "examples/jsm/postprocessing/FilmPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FilmPass.js#L37-L49",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 37
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 6
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "examples/jsm/postprocessing"
        }
      ],
      "pattern": "UniformsUtils.clone",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/postprocessing/AfterimagePass.js",
          "examples/jsm/postprocessing/AfterimagePass.js",
          "examples/jsm/postprocessing/BloomPass.js",
          "examples/jsm/postprocessing/BloomPass.js",
          "examples/jsm/postprocessing/BokehPass.js",
          "examples/jsm/postprocessing/CubeTexturePass.js",
          "examples/jsm/postprocessing/DotScreenPass.js",
          "examples/jsm/postprocessing/FilmPass.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 50,
            "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js#L38-L50",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 38
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 73,
            "file_path": "examples/jsm/postprocessing/AfterimagePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/AfterimagePass.js#L61-L73",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 61
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 52,
            "file_path": "examples/jsm/postprocessing/BloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js#L40-L52",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 80,
            "file_path": "examples/jsm/postprocessing/BloomPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BloomPass.js#L68-L80",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 68
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 85,
            "file_path": "examples/jsm/postprocessing/BokehPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/BokehPass.js#L73-L85",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 73
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 82,
            "file_path": "examples/jsm/postprocessing/CubeTexturePass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/CubeTexturePass.js#L70-L82",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 70
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 49,
            "file_path": "examples/jsm/postprocessing/DotScreenPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/DotScreenPass.js#L37-L49",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 49,
            "file_path": "examples/jsm/postprocessing/FilmPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/FilmPass.js#L37-L49",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 37
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 6
      },
      "title": null,
      "content": null
    }
  333. 333
    +3:03:09Code ReadCode navigationthree158 msCompleted⌄
    Started
    Aug 7, 2026, 4:17:04 PM UTC
    Ended
    Aug 7, 2026, 4:17:04 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 100,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 61,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "examples/jsm/postprocessing/ShaderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L40-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 40
        }
      ],
      "start_line": 40,
      "status": "success",
      "total_lines": 135
    }
    Request⌄

    Request payload

    {
      "end_line": 100,
      "file_path": "examples/jsm/postprocessing/ShaderPass.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 40,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 100,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 61,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "examples/jsm/postprocessing/ShaderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/ShaderPass.js#L40-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 40
          }
        ],
        "start_line": 40,
        "status": "success",
        "total_lines": 135
      },
      "title": null,
      "content": null
    }
  334. 334
    +3:07:48Code GrepCode navigationthree“depthBuffer = true”205 msNo result⌄

    depthBuffer = true

    Started
    Aug 7, 2026, 4:21:43 PM UTC
    Ended
    Aug 7, 2026, 4:21:43 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/core"
        }
      ],
      "pattern": "depthBuffer = true",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  335. 335
    +3:07:54Code GrepCode navigationthree“depthBuffer”132 msCompleted⌄

    depthBuffer

    Started
    Aug 7, 2026, 4:21:48 PM UTC
    Ended
    Aug 7, 2026, 4:21:48 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js",
        "src/core/RenderTarget.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 36,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L26-L36",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 26
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 38,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L28-L38",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 63,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L53-L63",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 53
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 65,
          "file_path": "src/core/RenderTarget.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L55-L65",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 55
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/RenderTarget.js"
        }
      ],
      "pattern": "depthBuffer",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js",
          "src/core/RenderTarget.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 36,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L26-L36",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 26
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 38,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L28-L38",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 63,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L53-L63",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 53
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 65,
            "file_path": "src/core/RenderTarget.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/RenderTarget.js#L55-L65",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 55
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  336. 336
    +3:10:59Code ReadCode navigationthree410 msCompleted⌄
    Started
    Aug 7, 2026, 4:24:53 PM UTC
    Ended
    Aug 7, 2026, 4:24:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 7,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 7,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderChunk/color_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 7
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/renderers/shaders/ShaderChunk/color_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 7,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 7,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderChunk/color_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 7
      },
      "title": null,
      "content": null
    }
  337. 337
    +3:10:59Code GrepCode navigationthree“vertexColors”43 msCompleted⌄

    vertexColors

    Started
    Aug 7, 2026, 4:24:54 PM UTC
    Ended
    Aug 7, 2026, 4:24:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js",
        "src/renderers/webgl/WebGLPrograms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 310,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L306-L310",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 306
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 310,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L306-L310",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 306
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 311,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L307-L311",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 307
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 517,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L513-L517",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 513
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLPrograms.js"
        }
      ],
      "pattern": "vertexColors",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js",
          "src/renderers/webgl/WebGLPrograms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 310,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L306-L310",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 306
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 310,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L306-L310",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 306
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 311,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L307-L311",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 307
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 517,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L513-L517",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 513
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  338. 338
    +3:11:04Code ReadCode navigationthree303 msCompleted⌄
    Started
    Aug 7, 2026, 4:24:59 PM UTC
    Ended
    Aug 7, 2026, 4:24:59 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 75,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 75,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 75,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L1-L75",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 213
    }
    Request⌄

    Request payload

    {
      "end_line": 75,
      "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 75,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 75,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 75,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js#L1-L75",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 213
      },
      "title": null,
      "content": null
    }
  339. 339
    +3:11:05Code GrepCode navigationthree“BRDF_Lambert”126 msNo result⌄

    BRDF_Lambert

    Started
    Aug 7, 2026, 4:25:00 PM UTC
    Ended
    Aug 7, 2026, 4:25:00 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderChunk/bsdfs.glsl.js"
        }
      ],
      "pattern": "BRDF_Lambert",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  340. 340
    +3:11:10Code GrepCode navigationthree“BRDF_Lambert”503 msCompleted⌄

    BRDF_Lambert

    Started
    Aug 7, 2026, 4:25:05 PM UTC
    Ended
    Aug 7, 2026, 4:25:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/common.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 107,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L99-L107",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 99
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 20,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js#L12-L20",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 12
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 26,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js#L18-L26",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 18
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 22,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js#L14-L22",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 14
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 30,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js#L22-L30",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 22
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 562,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L554-L562",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 554
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 567,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L559-L567",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 559
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 18,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js#L10-L18",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 10
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 24,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js#L16-L24",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 16
        }
      ],
      "returned_matches": 9,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 9,
      "unique_files_matched": 5
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders"
        }
      ],
      "pattern": "BRDF_Lambert",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 107,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L99-L107",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 99
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 20,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js#L12-L20",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 12
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 26,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js#L18-L26",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 18
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 22,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js#L14-L22",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 14
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 30,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js#L22-L30",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 22
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 562,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L554-L562",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 554
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 567,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L559-L567",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 559
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 18,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js#L10-L18",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 10
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 24,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js#L16-L24",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 16
          }
        ],
        "returned_matches": 9,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 9,
        "unique_files_matched": 5
      },
      "title": null,
      "content": null
    }
  341. 341
    +3:11:18Code ReadCode navigationthree124 msCompleted⌄
    Started
    Aug 7, 2026, 4:25:13 PM UTC
    Ended
    Aug 7, 2026, 4:25:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 60,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 60,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L1-L60",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 656
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 60,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 60,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L1-L60",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 656
      },
      "title": null,
      "content": null
    }
  342. 342
    +3:11:20Code GrepCode navigationthree“diffuseContribution”679 msCompleted⌄

    diffuseContribution

    Started
    Aug 7, 2026, 4:25:14 PM UTC
    Ended
    Aug 7, 2026, 4:25:15 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 11,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L5-L11",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 5
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 502,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L496-L502",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 496
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 561,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L555-L561",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 555
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 566,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L560-L566",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 560
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 623,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L617-L623",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 617
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 30,
          "file_path": "src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js#L24-L30",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 24
        }
      ],
      "returned_matches": 7,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders"
        }
      ],
      "pattern": "diffuseContribution",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 11,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L5-L11",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 5
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 502,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L496-L502",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 496
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 561,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L555-L561",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 555
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 566,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L560-L566",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 560
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 623,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L617-L623",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 617
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 30,
            "file_path": "src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js#L24-L30",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 24
          }
        ],
        "returned_matches": 7,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  343. 343
    +3:12:00Code ReadCode navigationthree350 msCompleted⌄
    Started
    Aug 7, 2026, 4:25:55 PM UTC
    Ended
    Aug 7, 2026, 4:25:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 7,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 7,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js#L1-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 7
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 7,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 7,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js#L1-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 7
      },
      "title": null,
      "content": null
    }
  344. 344
    +3:12:16Code GrepCode navigationthree“toneMapping”327 msCompleted⌄

    toneMapping

    Started
    Aug 7, 2026, 4:26:11 PM UTC
    Ended
    Aug 7, 2026, 4:26:11 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js",
        "examples/jsm/postprocessing/OutputPass.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 8,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L2-L8",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 9,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L3-L9",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 10,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L4-L10",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 4
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 11,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L5-L11",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 5
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 12,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L6-L12",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 13,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L7-L13",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 7
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 14,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L8-L14",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 8
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 78,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L72-L78",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 72
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 96,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L90-L96",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 90
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 96,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L90-L96",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 90
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L94-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 94
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 100,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L94-L100",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 94
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 103,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L97-L103",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 97
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 103,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L97-L103",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 97
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 109,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L103-L109",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 103
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 109,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L103-L109",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 103
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L104-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 104
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L104-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 104
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 111,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L105-L111",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 105
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 111,
          "file_path": "examples/jsm/postprocessing/OutputPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L105-L111",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 105
        }
      ],
      "returned_matches": 20,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 20,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/postprocessing/OutputPass.js"
        }
      ],
      "pattern": "toneMapping",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js",
          "examples/jsm/postprocessing/OutputPass.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 8,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L2-L8",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 9,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L3-L9",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 10,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L4-L10",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 4
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 11,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L5-L11",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 5
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 12,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L6-L12",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 13,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L7-L13",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 7
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 14,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L8-L14",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 8
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 78,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L72-L78",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 72
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 96,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L90-L96",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 90
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 96,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L90-L96",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 90
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L94-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 94
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 100,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L94-L100",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 94
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 103,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L97-L103",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 97
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 103,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L97-L103",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 97
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 109,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L103-L109",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 103
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 109,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L103-L109",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 103
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L104-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 104
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L104-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 104
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 111,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L105-L111",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 105
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 111,
            "file_path": "examples/jsm/postprocessing/OutputPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/OutputPass.js#L105-L111",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 105
          }
        ],
        "returned_matches": 20,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 20,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  345. 345
    +3:12:17Code GrepCode navigationthree“toneMapped”282 msCompleted⌄

    toneMapped

    Started
    Aug 7, 2026, 4:26:12 PM UTC
    Ended
    Aug 7, 2026, 4:26:12 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLBackground.js",
        "src/renderers/webgl/WebGLBackground.js",
        "src/renderers/webgl/WebGLPrograms.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 154,
          "file_path": "src/renderers/webgl/WebGLBackground.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBackground.js#L148-L154",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 148
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 211,
          "file_path": "src/renderers/webgl/WebGLBackground.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBackground.js#L205-L211",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 205
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 181,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L175-L181",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 175
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/webgl"
        }
      ],
      "pattern": "toneMapped",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLBackground.js",
          "src/renderers/webgl/WebGLBackground.js",
          "src/renderers/webgl/WebGLPrograms.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 154,
            "file_path": "src/renderers/webgl/WebGLBackground.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBackground.js#L148-L154",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 148
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 211,
            "file_path": "src/renderers/webgl/WebGLBackground.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBackground.js#L205-L211",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 205
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 181,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L175-L181",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 175
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  346. 346
    +3:12:25Code ReadCode navigationthree1.0 sCompleted⌄
    Started
    Aug 7, 2026, 4:26:20 PM UTC
    Ended
    Aug 7, 2026, 4:26:21 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 200,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 33,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 200,
          "file_path": "src/renderers/webgl/WebGLPrograms.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L168-L200",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 168
        }
      ],
      "start_line": 168,
      "status": "success",
      "total_lines": 686
    }
    Request⌄

    Request payload

    {
      "end_line": 200,
      "file_path": "src/renderers/webgl/WebGLPrograms.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 168,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 200,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 33,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 200,
            "file_path": "src/renderers/webgl/WebGLPrograms.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLPrograms.js#L168-L200",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 168
          }
        ],
        "start_line": 168,
        "status": "success",
        "total_lines": 686
      },
      "title": null,
      "content": null
    }
  347. 347
    +3:12:59Code ReadCode navigationthree233 msCompleted⌄
    Started
    Aug 7, 2026, 4:26:54 PM UTC
    Ended
    Aug 7, 2026, 4:26:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 110,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 75,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 110,
          "file_path": "src/core/Layers.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L36-L110",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 36
        }
      ],
      "start_line": 36,
      "status": "success",
      "total_lines": 121
    }
    Request⌄

    Request payload

    {
      "end_line": 110,
      "file_path": "src/core/Layers.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 36,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 110,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 75,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 110,
            "file_path": "src/core/Layers.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Layers.js#L36-L110",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 36
          }
        ],
        "start_line": 36,
        "status": "success",
        "total_lines": 121
      },
      "title": null,
      "content": null
    }
  348. 348
    +3:15:22Code ReadCode navigationthree309 msCompleted⌄
    Started
    Aug 7, 2026, 4:29:16 PM UTC
    Ended
    Aug 7, 2026, 4:29:17 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 103,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 103,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 103,
          "file_path": "examples/jsm/shaders/OutputShader.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/OutputShader.js#L1-L103",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 103
    }
    Request⌄

    Request payload

    {
      "end_line": 120,
      "file_path": "examples/jsm/shaders/OutputShader.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 103,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 103,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 103,
            "file_path": "examples/jsm/shaders/OutputShader.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/shaders/OutputShader.js#L1-L103",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 103
      },
      "title": null,
      "content": null
    }
  349. 349
    +3:15:42Code GrepCode navigationthree“_shadowMapSize.copy”178 msCompleted⌄

    _shadowMapSize.copy

    Started
    Aug 7, 2026, 4:29:37 PM UTC
    Ended
    Aug 7, 2026, 4:29:37 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLShadowMap.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 182,
          "file_path": "src/renderers/webgl/WebGLShadowMap.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLShadowMap.js#L162-L182",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 162
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLShadowMap.js"
        }
      ],
      "pattern": "_shadowMapSize.copy",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLShadowMap.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 182,
            "file_path": "src/renderers/webgl/WebGLShadowMap.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLShadowMap.js#L162-L182",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 162
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  350. 350
    +3:15:43Code GrepCode navigationthree“shadow.map === null”43 msCompleted⌄

    shadow.map === null

    Started
    Aug 7, 2026, 4:29:38 PM UTC
    Ended
    Aug 7, 2026, 4:29:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLShadowMap.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 213,
          "file_path": "src/renderers/webgl/WebGLShadowMap.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLShadowMap.js#L193-L213",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 193
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLShadowMap.js"
        }
      ],
      "pattern": "shadow.map === null",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLShadowMap.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 213,
            "file_path": "src/renderers/webgl/WebGLShadowMap.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLShadowMap.js#L193-L213",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 193
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  351. 351
    +3:15:47Code GrepCode navigationthree“renderer.render( this.scene, this.camera )”287 msCompleted⌄

    renderer.render( this.scene, this.camera )

    Started
    Aug 7, 2026, 4:29:42 PM UTC
    Ended
    Aug 7, 2026, 4:29:42 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/postprocessing/RenderPass.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 175,
          "file_path": "examples/jsm/postprocessing/RenderPass.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js#L155-L175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 155
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/postprocessing/RenderPass.js"
        }
      ],
      "pattern": "renderer.render( this.scene, this.camera )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/postprocessing/RenderPass.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 175,
            "file_path": "examples/jsm/postprocessing/RenderPass.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/postprocessing/RenderPass.js#L155-L175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 155
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  352. 352
    +3:15:48Code ReadCode navigationthree200 msCompleted⌄
    Started
    Aug 7, 2026, 4:29:42 PM UTC
    Ended
    Aug 7, 2026, 4:29:43 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 30,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 30,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 30,
          "file_path": "src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js#L1-L30",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 200
    }
    Request⌄

    Request payload

    {
      "end_line": 30,
      "file_path": "src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 30,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 30,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 30,
            "file_path": "src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js#L1-L30",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 200
      },
      "title": null,
      "content": null
    }
  353. 353
    +3:21:06Code GrepCode navigationgodotengine/godot“DIFFUSE_TOON”9.6 sCompleted⌄

    DIFFUSE_TOON

    Started
    Aug 7, 2026, 4:35:00 PM UTC
    Ended
    Aug 7, 2026, 4:35:10 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/godotengine/godot

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
        "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
        "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
        "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
        "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
        "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
        "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
        "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
        "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
        "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
        "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
        "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
        "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 885,
          "file_path": "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp#L869-L885",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 869
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 885,
          "file_path": "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp#L869-L885",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 869
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 824,
          "file_path": "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp#L808-L824",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 808
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 824,
          "file_path": "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp#L808-L824",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 808
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 2253,
          "file_path": "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl#L2237-L2253",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 2237
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 2283,
          "file_path": "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl#L2267-L2283",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 2267
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 1891,
          "file_path": "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl#L1875-L1891",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 1875
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 1924,
          "file_path": "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl#L1908-L1924",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 1908
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 236,
          "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L220-L236",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 220
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 1220,
          "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1204-L1220",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 1204
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 1267,
          "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1251-L1267",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 1251
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 1282,
          "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1266-L1282",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 1266
        },
        {
          "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
          "end_line": 1291,
          "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "kind": "code",
          "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1275-L1291",
          "repo_url": "https://github.com/godotengine/godot",
          "start_line": 1275
        }
      ],
      "returned_matches": 13,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 13,
      "unique_files_matched": 5
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "servers/rendering"
        }
      ],
      "pattern": "DIFFUSE_TOON",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/godotengine/godot",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
          "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
          "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
          "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
          "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
          "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
          "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
          "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
          "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
          "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 885,
            "file_path": "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp#L869-L885",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 869
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 885,
            "file_path": "servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp#L869-L885",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 869
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 824,
            "file_path": "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp#L808-L824",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 808
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 824,
            "file_path": "servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp#L808-L824",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 808
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 2253,
            "file_path": "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl#L2237-L2253",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 2237
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 2283,
            "file_path": "servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl#L2267-L2283",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 2267
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 1891,
            "file_path": "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl#L1875-L1891",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 1875
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 1924,
            "file_path": "servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl#L1908-L1924",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 1908
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 236,
            "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L220-L236",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 220
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 1220,
            "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1204-L1220",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 1204
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 1267,
            "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1251-L1267",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 1251
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 1282,
            "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1266-L1282",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 1266
          },
          {
            "commit_sha": "51105ccbe58381774ecd7a7486d564b202a5192e",
            "end_line": 1291,
            "file_path": "servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl",
            "kind": "code",
            "permalink": "https://github.com/godotengine/godot/blob/51105ccbe58381774ecd7a7486d564b202a5192e/servers/rendering/renderer_rd/shaders/scene_forward_lights_inc.glsl#L1275-L1291",
            "repo_url": "https://github.com/godotengine/godot",
            "start_line": 1275
          }
        ],
        "returned_matches": 13,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 13,
        "unique_files_matched": 5
      },
      "title": null,
      "content": null
    }
  354. 354
    +3:21:27Code GrepCode navigationthree“outlineThickness”15 sCompleted⌄

    outlineThickness

    Started
    Aug 7, 2026, 4:35:21 PM UTC
    Ended
    Aug 7, 2026, 4:35:37 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/effects/OutlineEffect.js",
        "examples/jsm/effects/OutlineEffect.js",
        "examples/jsm/effects/OutlineEffect.js",
        "examples/jsm/effects/OutlineEffect.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 71,
          "file_path": "examples/jsm/effects/OutlineEffect.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L59-L71",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 59
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 86,
          "file_path": "examples/jsm/effects/OutlineEffect.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L74-L86",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 74
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 89,
          "file_path": "examples/jsm/effects/OutlineEffect.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L77-L89",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 77
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 274,
          "file_path": "examples/jsm/effects/OutlineEffect.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L262-L274",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 262
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/effects/OutlineEffect.js"
        }
      ],
      "pattern": "outlineThickness",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/effects/OutlineEffect.js",
          "examples/jsm/effects/OutlineEffect.js",
          "examples/jsm/effects/OutlineEffect.js",
          "examples/jsm/effects/OutlineEffect.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 71,
            "file_path": "examples/jsm/effects/OutlineEffect.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L59-L71",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 59
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 86,
            "file_path": "examples/jsm/effects/OutlineEffect.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L74-L86",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 74
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 89,
            "file_path": "examples/jsm/effects/OutlineEffect.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L77-L89",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 77
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 274,
            "file_path": "examples/jsm/effects/OutlineEffect.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L262-L274",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 262
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  355. 355
    +3:21:53Code GrepCode navigationthree“colorspace_pars_fragment”463 msCompleted⌄

    colorspace_pars_fragment

    Started
    Aug 7, 2026, 4:35:48 PM UTC
    Ended
    Aug 7, 2026, 4:35:48 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/webgl/WebGLOutput.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 36,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L28-L36",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 36,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L28-L36",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 164,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L156-L164",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 156
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 164,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L156-L164",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 156
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 86,
          "file_path": "src/renderers/webgl/WebGLOutput.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLOutput.js#L78-L86",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 78
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 782,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L774-L782",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 774
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 3
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/"
        }
      ],
      "pattern": "colorspace_pars_fragment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/webgl/WebGLOutput.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 36,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L28-L36",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 36,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L28-L36",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 164,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L156-L164",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 156
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 164,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L156-L164",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 156
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 86,
            "file_path": "src/renderers/webgl/WebGLOutput.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLOutput.js#L78-L86",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 78
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 782,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L774-L782",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 774
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 3
      },
      "title": null,
      "content": null
    }
  356. 356
    +3:21:55Code GrepCode navigationthree“tonemapping_pars_fragment”1.0 sCompleted⌄

    tonemapping_pars_fragment

    Started
    Aug 7, 2026, 4:35:49 PM UTC
    Ended
    Aug 7, 2026, 4:35:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk.js",
        "src/renderers/shaders/ShaderChunk/common.glsl.js",
        "src/renderers/webgl/WebGLOutput.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 106,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L98-L106",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 98
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 106,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L98-L106",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 98
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 234,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L226-L234",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 226
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 234,
          "file_path": "src/renderers/shaders/ShaderChunk.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L226-L234",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 226
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 14,
          "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L6-L14",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 85,
          "file_path": "src/renderers/webgl/WebGLOutput.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLOutput.js#L77-L85",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 77
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 776,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L768-L776",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 768
        }
      ],
      "returned_matches": 7,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/"
        }
      ],
      "pattern": "tonemapping_pars_fragment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk.js",
          "src/renderers/shaders/ShaderChunk/common.glsl.js",
          "src/renderers/webgl/WebGLOutput.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 106,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L98-L106",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 98
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 106,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L98-L106",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 98
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 234,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L226-L234",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 226
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 234,
            "file_path": "src/renderers/shaders/ShaderChunk.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk.js#L226-L234",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 226
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 14,
            "file_path": "src/renderers/shaders/ShaderChunk/common.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/common.glsl.js#L6-L14",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 85,
            "file_path": "src/renderers/webgl/WebGLOutput.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLOutput.js#L77-L85",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 77
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 776,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L768-L776",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 768
          }
        ],
        "returned_matches": 7,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  357. 357
    +3:23:02Code GrepCode navigationthree“colorspace_pars_fragment”122 msCompleted⌄

    colorspace_pars_fragment

    Started
    Aug 7, 2026, 4:36:57 PM UTC
    Ended
    Aug 7, 2026, 4:36:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 786,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L770-L786",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 770
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/webgl/WebGLProgram.js"
        }
      ],
      "pattern": "colorspace_pars_fragment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 786,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L770-L786",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 770
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  358. 358
    +3:27:24Code GrepCode navigationthree“ShadowMap =”154 msCompleted⌄

    ShadowMap =

    Started
    Aug 7, 2026, 4:41:18 PM UTC
    Ended
    Aug 7, 2026, 4:41:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/constants.js",
        "src/constants.js",
        "src/constants.js",
        "src/constants.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 58,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L56-L58",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 56
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L64-L66",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 64
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 75,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L73-L75",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 73
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 84,
          "file_path": "src/constants.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L82-L84",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 82
        }
      ],
      "returned_matches": 4,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 1,
      "context_lines_before": 1,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/constants.js"
        }
      ],
      "pattern": "ShadowMap =",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/constants.js",
          "src/constants.js",
          "src/constants.js",
          "src/constants.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 58,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L56-L58",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 56
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L64-L66",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 64
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 75,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L73-L75",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 73
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 84,
            "file_path": "src/constants.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/constants.js#L82-L84",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 82
          }
        ],
        "returned_matches": 4,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  359. 359
    +3:28:24Code ReadCode navigationthree369 msCompleted⌄
    Started
    Aug 7, 2026, 4:42:18 PM UTC
    Ended
    Aug 7, 2026, 4:42:19 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 60,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 31,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60,
          "file_path": "examples/jsm/effects/OutlineEffect.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L30-L60",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 30
        }
      ],
      "start_line": 30,
      "status": "success",
      "total_lines": 489
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "examples/jsm/effects/OutlineEffect.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 30,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 60,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 31,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60,
            "file_path": "examples/jsm/effects/OutlineEffect.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L30-L60",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 30
          }
        ],
        "start_line": 30,
        "status": "success",
        "total_lines": 489
      },
      "title": null,
      "content": null
    }
  360. 360
    +3:28:40Code GrepCode navigationpmndrs/postprocessing“saturation”16 sCompleted⌄

    saturation

    Started
    Aug 7, 2026, 4:42:35 PM UTC
    Ended
    Aug 7, 2026, 4:42:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/pmndrs/postprocessing

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/effects/glsl/hue-saturation.frag",
        "src/effects/glsl/hue-saturation.frag",
        "src/effects/glsl/hue-saturation.frag",
        "src/effects/glsl/hue-saturation.frag",
        "src/effects/glsl/hue-saturation.frag"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
          "end_line": 8,
          "file_path": "src/effects/glsl/hue-saturation.frag",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L1-L8",
          "repo_url": "https://github.com/pmndrs/postprocessing",
          "start_line": 1
        },
        {
          "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
          "end_line": 19,
          "file_path": "src/effects/glsl/hue-saturation.frag",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L7-L19",
          "repo_url": "https://github.com/pmndrs/postprocessing",
          "start_line": 7
        },
        {
          "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
          "end_line": 23,
          "file_path": "src/effects/glsl/hue-saturation.frag",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L11-L23",
          "repo_url": "https://github.com/pmndrs/postprocessing",
          "start_line": 11
        },
        {
          "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
          "end_line": 25,
          "file_path": "src/effects/glsl/hue-saturation.frag",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L13-L25",
          "repo_url": "https://github.com/pmndrs/postprocessing",
          "start_line": 13
        },
        {
          "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
          "end_line": 29,
          "file_path": "src/effects/glsl/hue-saturation.frag",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L17-L29",
          "repo_url": "https://github.com/pmndrs/postprocessing",
          "start_line": 17
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/effects/glsl/hue-saturation.frag"
        }
      ],
      "pattern": "saturation",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/pmndrs/postprocessing",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/effects/glsl/hue-saturation.frag",
          "src/effects/glsl/hue-saturation.frag",
          "src/effects/glsl/hue-saturation.frag",
          "src/effects/glsl/hue-saturation.frag",
          "src/effects/glsl/hue-saturation.frag"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
            "end_line": 8,
            "file_path": "src/effects/glsl/hue-saturation.frag",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L1-L8",
            "repo_url": "https://github.com/pmndrs/postprocessing",
            "start_line": 1
          },
          {
            "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
            "end_line": 19,
            "file_path": "src/effects/glsl/hue-saturation.frag",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L7-L19",
            "repo_url": "https://github.com/pmndrs/postprocessing",
            "start_line": 7
          },
          {
            "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
            "end_line": 23,
            "file_path": "src/effects/glsl/hue-saturation.frag",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L11-L23",
            "repo_url": "https://github.com/pmndrs/postprocessing",
            "start_line": 11
          },
          {
            "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
            "end_line": 25,
            "file_path": "src/effects/glsl/hue-saturation.frag",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L13-L25",
            "repo_url": "https://github.com/pmndrs/postprocessing",
            "start_line": 13
          },
          {
            "commit_sha": "703a17523c8d52045dadfdb228aaab5fb1888edc",
            "end_line": 29,
            "file_path": "src/effects/glsl/hue-saturation.frag",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/postprocessing/blob/703a17523c8d52045dadfdb228aaab5fb1888edc/src/effects/glsl/hue-saturation.frag#L17-L29",
            "repo_url": "https://github.com/pmndrs/postprocessing",
            "start_line": 17
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  361. 361
    +3:31:35Code GrepCode navigationthree“distanceToSquared”435 msCompleted⌄

    distanceToSquared

    Started
    Aug 7, 2026, 4:45:30 PM UTC
    Ended
    Aug 7, 2026, 4:45:30 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Vector3.js",
        "src/math/Vector3.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 959,
          "file_path": "src/math/Vector3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L951-L959",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 951
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 971,
          "file_path": "src/math/Vector3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L963-L971",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 963
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Vector3.js"
        }
      ],
      "pattern": "distanceToSquared",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Vector3.js",
          "src/math/Vector3.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 959,
            "file_path": "src/math/Vector3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L951-L959",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 951
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 971,
            "file_path": "src/math/Vector3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L963-L971",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 963
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  362. 362
    +3:38:22Code GrepCode navigationthree“export function damp”2.1 sNo result⌄

    export function damp

    Started
    Aug 7, 2026, 4:52:17 PM UTC
    Ended
    Aug 7, 2026, 4:52:19 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/MathUtils.js"
        }
      ],
      "pattern": "export function damp",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  363. 363
    +3:38:31Code GrepCode navigationthree“function damp(”1.5 sCompleted⌄

    function damp(

    Started
    Aug 7, 2026, 4:52:26 PM UTC
    Ended
    Aug 7, 2026, 4:52:27 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/MathUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 138,
          "file_path": "src/math/MathUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L130-L138",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 130
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/math/"
        }
      ],
      "pattern": "function damp(",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/MathUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 138,
            "file_path": "src/math/MathUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/MathUtils.js#L130-L138",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 130
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  364. 364
    +3:38:32Code GrepCode navigationthree“LinearTransferOETF”581 msCompleted⌄

    LinearTransferOETF

    Started
    Aug 7, 2026, 4:52:27 PM UTC
    Ended
    Aug 7, 2026, 4:52:27 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.min.js",
        "build/three.module.min.js",
        "build/three.module.min.js",
        "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js",
        "src/renderers/webgl/WebGLProgram.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60340,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60334-L60340",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60334
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66260,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66254-L66260",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 66254
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66267,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66261-L66267",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 66261
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 362,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L356-L362",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 356
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6282,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6276-L6282",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6276
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6289,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6283-L6289",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6283
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "build/three.module.min.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L3-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "build/three.module.min.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L3-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 7,
          "file_path": "build/three.module.min.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L3-L7",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 3
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6,
          "file_path": "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js#L1-L6",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 48,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L42-L48",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 42
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 55,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L49-L55",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 49
        }
      ],
      "returned_matches": 12,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 12,
      "unique_files_matched": 5
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "LinearTransferOETF",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.min.js",
          "build/three.module.min.js",
          "build/three.module.min.js",
          "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js",
          "src/renderers/webgl/WebGLProgram.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60340,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60334-L60340",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60334
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66260,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66254-L66260",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 66254
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66267,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66261-L66267",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 66261
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 362,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L356-L362",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 356
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6282,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6276-L6282",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6276
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6289,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6283-L6289",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6283
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "build/three.module.min.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L3-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "build/three.module.min.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L3-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 7,
            "file_path": "build/three.module.min.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.min.js#L3-L7",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 3
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6,
            "file_path": "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js#L1-L6",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 48,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L42-L48",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 42
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 55,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L49-L55",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 49
          }
        ],
        "returned_matches": 12,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 12,
        "unique_files_matched": 5
      },
      "title": null,
      "content": null
    }
  365. 365
    +3:38:39Code GrepCode navigationthree“LinearTransferOETF”112 msCompleted⌄

    LinearTransferOETF

    Started
    Aug 7, 2026, 4:52:33 PM UTC
    Ended
    Aug 7, 2026, 4:52:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6,
          "file_path": "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js#L1-L6",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders/"
        }
      ],
      "pattern": "LinearTransferOETF",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6,
            "file_path": "src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js#L1-L6",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  366. 366
    +3:38:39Code GrepCode navigationthree-mesh-bvh“closestPointToSegment”333 msCompleted⌄

    closestPointToSegment

    Started
    Aug 7, 2026, 4:52:34 PM UTC
    Ended
    Aug 7, 2026, 4:52:34 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/index.d.ts",
        "src/math/ExtendedTriangle.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 430,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L426-L430",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 426
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 149,
          "file_path": "src/math/ExtendedTriangle.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L145-L149",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 145
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/"
        }
      ],
      "pattern": "closestPointToSegment",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/index.d.ts",
          "src/math/ExtendedTriangle.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 430,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L426-L430",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 426
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 149,
            "file_path": "src/math/ExtendedTriangle.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/math/ExtendedTriangle.js#L145-L149",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 145
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  367. 367
    +3:38:57Code GrepCode navigationthree“LinearTransferOETF”111 msCompleted⌄

    LinearTransferOETF

    Started
    Aug 7, 2026, 4:52:51 PM UTC
    Ended
    Aug 7, 2026, 4:52:51 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLProgram.js",
        "src/renderers/webgl/WebGLProgram.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 51,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L39-L51",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 39
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 58,
          "file_path": "src/renderers/webgl/WebGLProgram.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L46-L58",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 46
        }
      ],
      "returned_matches": 2,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/webgl/"
        }
      ],
      "pattern": "LinearTransferOETF",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLProgram.js",
          "src/renderers/webgl/WebGLProgram.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 51,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L39-L51",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 39
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 58,
            "file_path": "src/renderers/webgl/WebGLProgram.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLProgram.js#L46-L58",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 46
          }
        ],
        "returned_matches": 2,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  368. 368
    +3:39:18SearchCode navigationgkjohnson/three-mesh-bvhcharacter movement capsule collider deltaVector grounded playerIsOnGround gravity1.4 sCompleted⌄

    character movement capsule collider deltaVector grounded playerIsOnGround gravity

    Started
    Aug 7, 2026, 4:53:13 PM UTC
    Ended
    Aug 7, 2026, 4:53:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/gkjohnson/three-mesh-bvh

    Result summary

    {
      "completed": true,
      "freshness_counts": {
        "current": 1
      },
      "indexing_status_counts": {
        "indexed": 1
      },
      "outcome": "result_returned",
      "partial_results": false,
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 436,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L357-L436",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 357
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 442,
          "file_path": "example/objectbvh_characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L363-L442",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 363
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 191,
          "file_path": "example/characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L112-L191",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 112
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 200,
          "file_path": "example/objectbvh_characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L121-L200",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 121
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 378,
          "file_path": "example/physics.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/physics.js#L299-L378",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 299
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 276,
          "file_path": "src/workers/parallelMeshBVH.worker.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/workers/parallelMeshBVH.worker.js#L266-L276",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 266
        }
      ],
      "result_type_counts": {
        "repository_code": 6
      },
      "results": [
        {
          "label": "updatePlayer",
          "target": "github:gkjohnson/three-mesh-bvh",
          "type": "repository_code"
        },
        {
          "label": "updatePlayer",
          "target": "github:gkjohnson/three-mesh-bvh",
          "type": "repository_code"
        },
        {
          "label": "init",
          "target": "github:gkjohnson/three-mesh-bvh",
          "type": "repository_code"
        },
        {
          "label": "init",
          "target": "github:gkjohnson/three-mesh-bvh",
          "type": "repository_code"
        },
        {
          "label": "updateSphereCollisions",
          "target": "github:gkjohnson/three-mesh-bvh",
          "type": "repository_code"
        },
        {
          "label": "getOnProgressDeltaCallback",
          "target": "github:gkjohnson/three-mesh-bvh",
          "type": "repository_code"
        }
      ],
      "returned_results": 6,
      "search_ref_present": false,
      "source_counts": {
        "code": 1
      },
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "allow_partial_results": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "limit": 6,
      "offset": 0,
      "query": "character movement capsule collider deltaVector grounded playerIsOnGround gravity",
      "sources": [
        "code"
      ],
      "targets": [
        {
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh"
        }
      ],
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "completed": true,
        "freshness_counts": {
          "current": 1
        },
        "indexing_status_counts": {
          "indexed": 1
        },
        "outcome": "result_returned",
        "partial_results": false,
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 436,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L357-L436",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 357
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 442,
            "file_path": "example/objectbvh_characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L363-L442",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 363
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 191,
            "file_path": "example/characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/characterMovement.js#L112-L191",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 112
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 200,
            "file_path": "example/objectbvh_characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L121-L200",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 121
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 378,
            "file_path": "example/physics.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/physics.js#L299-L378",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 299
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 276,
            "file_path": "src/workers/parallelMeshBVH.worker.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/workers/parallelMeshBVH.worker.js#L266-L276",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 266
          }
        ],
        "result_type_counts": {
          "repository_code": 6
        },
        "results": [
          {
            "label": "updatePlayer",
            "target": "github:gkjohnson/three-mesh-bvh",
            "type": "repository_code"
          },
          {
            "label": "updatePlayer",
            "target": "github:gkjohnson/three-mesh-bvh",
            "type": "repository_code"
          },
          {
            "label": "init",
            "target": "github:gkjohnson/three-mesh-bvh",
            "type": "repository_code"
          },
          {
            "label": "init",
            "target": "github:gkjohnson/three-mesh-bvh",
            "type": "repository_code"
          },
          {
            "label": "updateSphereCollisions",
            "target": "github:gkjohnson/three-mesh-bvh",
            "type": "repository_code"
          },
          {
            "label": "getOnProgressDeltaCallback",
            "target": "github:gkjohnson/three-mesh-bvh",
            "type": "repository_code"
          }
        ],
        "returned_results": 6,
        "search_ref_present": false,
        "source_counts": {
          "code": 1
        },
        "status": "success"
      },
      "title": null,
      "content": null
    }
  369. 369
    +3:39:28Code ReadCode navigationgkjohnson/three-mesh-bvh505 msCompleted⌄
    Started
    Aug 7, 2026, 4:53:22 PM UTC
    Ended
    Aug 7, 2026, 4:53:23 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/gkjohnson/three-mesh-bvh

    Result summary

    {
      "end_line": 200,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 80,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 200,
          "file_path": "example/objectbvh_characterMovement.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L121-L200",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 121
        }
      ],
      "start_line": 121,
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "git_ref": "HEAD",
          "kind": "code_target",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "role": "resolved_requested"
        }
      ],
      "total_lines": 506
    }
    Request⌄

    Request payload

    {
      "end_line": 200,
      "file_path": "example/objectbvh_characterMovement.js",
      "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
      "start_line": 121,
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 200,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 80,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 200,
            "file_path": "example/objectbvh_characterMovement.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/example/objectbvh_characterMovement.js#L121-L200",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 121
          }
        ],
        "start_line": 121,
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "git_ref": "HEAD",
            "kind": "code_target",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "role": "resolved_requested"
          }
        ],
        "total_lines": 506
      },
      "title": null,
      "content": null
    }
  370. 370
    +3:39:42SearchCode navigationpmndrs/ecctrlcamera collision distance zoom follow character third person13 sNo result⌄

    camera collision distance zoom follow character third person

    Started
    Aug 7, 2026, 4:53:37 PM UTC
    Ended
    Aug 7, 2026, 4:53:49 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/pmndrs/ecctrl

    Result summary

    {
      "completed": true,
      "freshness_counts": {
        "stale": 1
      },
      "indexing_status_counts": {
        "indexed": 1
      },
      "outcome": "empty_result",
      "partial_results": false,
      "returned_results": 0,
      "search_ref_present": true,
      "source_counts": {
        "code": 1
      },
      "status": "success"
    }
    Request⌄

    Request payload

    {
      "allow_partial_results": false,
      "context_lines_after": 2,
      "context_lines_before": 2,
      "limit": 5,
      "offset": 0,
      "query": "camera collision distance zoom follow character third person",
      "sources": [
        "code"
      ],
      "targets": [
        {
          "repo_url": "https://github.com/pmndrs/ecctrl"
        }
      ],
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "completed": true,
        "freshness_counts": {
          "stale": 1
        },
        "indexing_status_counts": {
          "indexed": 1
        },
        "outcome": "empty_result",
        "partial_results": false,
        "returned_results": 0,
        "search_ref_present": true,
        "source_counts": {
          "code": 1
        },
        "status": "success"
      },
      "title": null,
      "content": null
    }
  371. 371
    +3:45:11Code FilesCode navigationpmndrs/ecctrlsrc/1.1 sCompleted⌄
    Started
    Aug 7, 2026, 4:59:05 PM UTC
    Ended
    Aug 7, 2026, 4:59:06 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/pmndrs/ecctrl

    Result summary

    {
      "code_index_state": "current",
      "files": [
        "src/all.ts",
        "src/animation.ts",
        "src/camera.ts",
        "src/character/Ecctrl.tsx",
        "src/character/animation/EcctrlAnimationStateController.tsx",
        "src/character/animation/index.ts",
        "src/character/animation/resolveAnimationState.ts",
        "src/character/animation/types.ts",
        "src/character/animation/useEcctrlAnimationStore.ts",
        "src/character/types.ts",
        "src/curves.ts",
        "src/curves/CurveLUT.ts",
        "src/gravity.ts",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/useCustomGravity.ts",
        "src/index.ts",
        "src/input.ts",
        "src/input/Joystick.tsx",
        "src/input/VirtualButton.tsx",
        "src/input/stores/useButtonStore.ts"
      ],
      "has_more": true,
      "indexing_status": "indexed",
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/all.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/all.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/animation.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/animation.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/camera.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/camera.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/Ecctrl.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/Ecctrl.tsx",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/animation/EcctrlAnimationStateController.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/EcctrlAnimationStateController.tsx",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/animation/index.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/index.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/animation/resolveAnimationState.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/resolveAnimationState.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/animation/types.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/types.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/animation/useEcctrlAnimationStore.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/useEcctrlAnimationStore.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/character/types.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/types.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/curves.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/curves.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/curves/CurveLUT.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/curves/CurveLUT.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/gravity.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/gravity/useCustomGravity.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/useCustomGravity.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/index.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/index.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/input.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/input/Joystick.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input/Joystick.tsx",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/input/VirtualButton.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input/VirtualButton.tsx",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "file_path": "src/input/stores/useButtonStore.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input/stores/useButtonStore.ts",
          "repo_url": "https://github.com/pmndrs/ecctrl"
        }
      ],
      "result_pointers_truncated": true,
      "returned": 30,
      "status": "success",
      "total": 34
    }
    Request⌄

    Request payload

    {
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "include_hidden": false,
      "limit": 30,
      "offset": 0,
      "path_prefix": "src/",
      "repo_url": "https://github.com/pmndrs/ecctrl",
      "wait_timeout_ms": 20000
    }
    ResponseTruncated⌄

    Response payload

    {
      "summary": {
        "code_index_state": "current",
        "files": [
          "src/all.ts",
          "src/animation.ts",
          "src/camera.ts",
          "src/character/Ecctrl.tsx",
          "src/character/animation/EcctrlAnimationStateController.tsx",
          "src/character/animation/index.ts",
          "src/character/animation/resolveAnimationState.ts",
          "src/character/animation/types.ts",
          "src/character/animation/useEcctrlAnimationStore.ts",
          "src/character/types.ts",
          "src/curves.ts",
          "src/curves/CurveLUT.ts",
          "src/gravity.ts",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/useCustomGravity.ts",
          "src/index.ts",
          "src/input.ts",
          "src/input/Joystick.tsx",
          "src/input/VirtualButton.tsx",
          "src/input/stores/useButtonStore.ts"
        ],
        "has_more": true,
        "indexing_status": "indexed",
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/all.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/all.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/animation.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/animation.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/camera.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/camera.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/Ecctrl.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/Ecctrl.tsx",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/animation/EcctrlAnimationStateController.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/EcctrlAnimationStateController.tsx",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/animation/index.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/index.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/animation/resolveAnimationState.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/resolveAnimationState.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/animation/types.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/types.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/animation/useEcctrlAnimationStore.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/animation/useEcctrlAnimationStore.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/character/types.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/character/types.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/curves.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/curves.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/curves/CurveLUT.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/curves/CurveLUT.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/gravity.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/gravity/useCustomGravity.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/useCustomGravity.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/index.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/index.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/input.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/input/Joystick.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input/Joystick.tsx",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/input/VirtualButton.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input/VirtualButton.tsx",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "file_path": "src/input/stores/useButtonStore.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/input/stores/useButtonStore.ts",
            "repo_url": "https://github.com/pmndrs/ecctrl"
          }
        ],
        "result_pointers_truncated": true,
        "returned": 30,
        "status": "success",
        "total": 34
      },
      "title": null,
      "content": null
    }

    This shared record contains a truncated response.

  372. 372
    +3:45:18Code GrepCode navigationpmndrs/ecctrl“camDollySpeed”1.6 sNo result⌄

    camDollySpeed

    Started
    Aug 7, 2026, 4:59:12 PM UTC
    Ended
    Aug 7, 2026, 4:59:14 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/pmndrs/ecctrl

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "pattern": "camDollySpeed",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/pmndrs/ecctrl",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  373. 373
    +3:45:29Code GrepCode navigationpmndrs/ecctrl“camCollision”801 msNo result⌄

    camCollision

    Started
    Aug 7, 2026, 4:59:23 PM UTC
    Ended
    Aug 7, 2026, 4:59:24 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/pmndrs/ecctrl

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "pattern": "camCollision",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/pmndrs/ecctrl",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  374. 374
    +3:45:36Code GrepCode navigationpmndrs/ecctrl“camera”904 msCompleted⌄

    camera

    Started
    Aug 7, 2026, 4:59:30 PM UTC
    Ended
    Aug 7, 2026, 4:59:31 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/pmndrs/ecctrl

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx",
        "src/gravity/EcctrlCameraControls.tsx"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 13,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L7-L13",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 7
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 16,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L10-L16",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 10
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 18,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L12-L18",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 12
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 18,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L12-L18",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 12
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 28,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L22-L28",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 22
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 30,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L24-L30",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 24
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 30,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L24-L30",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 24
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 30,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L24-L30",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 24
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 33,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L27-L33",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 27
        },
        {
          "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
          "end_line": 50,
          "file_path": "src/gravity/EcctrlCameraControls.tsx",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L44-L50",
          "repo_url": "https://github.com/pmndrs/ecctrl",
          "start_line": 44
        }
      ],
      "returned_matches": 10,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 10,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 3,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 10,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/gravity/EcctrlCameraControls.tsx"
        }
      ],
      "pattern": "camera",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/pmndrs/ecctrl",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx",
          "src/gravity/EcctrlCameraControls.tsx"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 13,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L7-L13",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 7
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 16,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L10-L16",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 10
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 18,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L12-L18",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 12
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 18,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L12-L18",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 12
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 28,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L22-L28",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 22
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 30,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L24-L30",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 24
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 30,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L24-L30",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 24
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 30,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L24-L30",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 24
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 33,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L27-L33",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 27
          },
          {
            "commit_sha": "e2f4eb899ab54787170f5472832efb0a238c0ef9",
            "end_line": 50,
            "file_path": "src/gravity/EcctrlCameraControls.tsx",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/ecctrl/blob/e2f4eb899ab54787170f5472832efb0a238c0ef9/src/gravity/EcctrlCameraControls.tsx#L44-L50",
            "repo_url": "https://github.com/pmndrs/ecctrl",
            "start_line": 44
          }
        ],
        "returned_matches": 10,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 10,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  375. 375
    +3:45:50Code GrepCode navigationplaycanvas/engine“wasPressed”1.6 sCompleted⌄

    wasPressed

    Started
    Aug 7, 2026, 4:59:45 PM UTC
    Ended
    Aug 7, 2026, 4:59:47 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/playcanvas/engine

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/platform/input/controller.js",
        "src/platform/input/controller.js",
        "src/platform/input/controller.js",
        "src/platform/input/controller.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 361,
          "file_path": "src/platform/input/controller.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L345-L361",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 345
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 375,
          "file_path": "src/platform/input/controller.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L359-L375",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 359
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 382,
          "file_path": "src/platform/input/controller.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L366-L382",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 366
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 387,
          "file_path": "src/platform/input/controller.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L371-L387",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 371
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/platform/input/"
        }
      ],
      "pattern": "wasPressed",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/playcanvas/engine",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/platform/input/controller.js",
          "src/platform/input/controller.js",
          "src/platform/input/controller.js",
          "src/platform/input/controller.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 361,
            "file_path": "src/platform/input/controller.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L345-L361",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 345
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 375,
            "file_path": "src/platform/input/controller.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L359-L375",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 359
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 382,
            "file_path": "src/platform/input/controller.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L366-L382",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 366
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 387,
            "file_path": "src/platform/input/controller.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/controller.js#L371-L387",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 371
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  376. 376
    +3:46:12Code GrepCode navigationBabylonJS/Babylon.js“cameraAcceleration”20 sDeferred⌄

    cameraAcceleration

    Started
    Aug 7, 2026, 5:00:06 PM UTC
    Ended
    Aug 7, 2026, 5:00:27 PM UTC
    Outcome
    Deferred
    Targets
    1
    repo:https://github.com/BabylonJS/Babylon.js

    Result summary

    {
      "files_too_large_skipped": 0,
      "indexing_ref": "9b8d55ea-36c6-4b6c-8699-88f7c4365dd5",
      "next_cursor_present": false,
      "outcome": "deferred",
      "returned_matches": 0,
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "git_ref": "HEAD",
          "kind": "code_target",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "packages/dev/core/src/Cameras/"
        }
      ],
      "pattern": "cameraAcceleration",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/BabylonJS/Babylon.js",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "indexing_ref": "9b8d55ea-36c6-4b6c-8699-88f7c4365dd5",
        "next_cursor_present": false,
        "outcome": "deferred",
        "returned_matches": 0,
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "git_ref": "HEAD",
            "kind": "code_target",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  377. 377
    +3:46:21Code GrepCode navigationplaycanvas/engine“_lastKeys”602 msNo result⌄

    _lastKeys

    Started
    Aug 7, 2026, 5:00:16 PM UTC
    Ended
    Aug 7, 2026, 5:00:16 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/playcanvas/engine

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 7,
      "context_lines_before": 7,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/platform/input/keyboard.js"
        }
      ],
      "pattern": "_lastKeys",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/playcanvas/engine",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  378. 378
    +3:46:34Code GrepCode navigationplaycanvas/engine“_lastKeymap”1.0 sNo result⌄

    _lastKeymap

    Started
    Aug 7, 2026, 5:00:29 PM UTC
    Ended
    Aug 7, 2026, 5:00:30 PM UTC
    Outcome
    Empty result
    Targets
    1
    repo:https://github.com/playcanvas/engine

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/platform/input/"
        }
      ],
      "pattern": "_lastKeymap",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/playcanvas/engine",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  379. 379
    +3:46:38Code ReadCode navigationplaycanvas/engine561 msCompleted⌄
    Started
    Aug 7, 2026, 5:00:32 PM UTC
    Ended
    Aug 7, 2026, 5:00:33 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/playcanvas/engine

    Result summary

    {
      "end_line": 60,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 60,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 60,
          "file_path": "src/platform/input/keyboard.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L1-L60",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 397
    }
    Request⌄

    Request payload

    {
      "end_line": 60,
      "file_path": "src/platform/input/keyboard.js",
      "repo_url": "https://github.com/playcanvas/engine",
      "start_line": 1,
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 60,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 60,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 60,
            "file_path": "src/platform/input/keyboard.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L1-L60",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 397
      },
      "title": null,
      "content": null
    }
  380. 380
    +3:46:44Code GrepCode navigationplaycanvas/engine“_lastKeymap[a-zA-Z]*|_keymap”480 msCompleted⌄

    _lastKeymap[a-zA-Z]*|_keymap

    Started
    Aug 7, 2026, 5:00:39 PM UTC
    Ended
    Aug 7, 2026, 5:00:39 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/playcanvas/engine

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/platform/input/keyboard.js",
        "src/platform/input/keyboard.js",
        "src/platform/input/keyboard.js",
        "src/platform/input/keyboard.js",
        "src/platform/input/keyboard.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 111,
          "file_path": "src/platform/input/keyboard.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L95-L111",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 95
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 271,
          "file_path": "src/platform/input/keyboard.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L255-L271",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 255
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 297,
          "file_path": "src/platform/input/keyboard.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L281-L297",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 281
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 343,
          "file_path": "src/platform/input/keyboard.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L327-L343",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 327
        },
        {
          "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
          "end_line": 358,
          "file_path": "src/platform/input/keyboard.js",
          "kind": "code",
          "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L342-L358",
          "repo_url": "https://github.com/playcanvas/engine",
          "start_line": 342
        }
      ],
      "returned_matches": 5,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 5,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 5,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/platform/input/keyboard.js"
        }
      ],
      "pattern": "_lastKeymap[a-zA-Z]*|_keymap",
      "pattern_type": "REGEX",
      "repo_url": "https://github.com/playcanvas/engine",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/platform/input/keyboard.js",
          "src/platform/input/keyboard.js",
          "src/platform/input/keyboard.js",
          "src/platform/input/keyboard.js",
          "src/platform/input/keyboard.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 111,
            "file_path": "src/platform/input/keyboard.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L95-L111",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 95
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 271,
            "file_path": "src/platform/input/keyboard.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L255-L271",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 255
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 297,
            "file_path": "src/platform/input/keyboard.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L281-L297",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 281
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 343,
            "file_path": "src/platform/input/keyboard.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L327-L343",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 327
          },
          {
            "commit_sha": "af23f43b8f217e24d9ca39ac843b5a959908bf8b",
            "end_line": 358,
            "file_path": "src/platform/input/keyboard.js",
            "kind": "code",
            "permalink": "https://github.com/playcanvas/engine/blob/af23f43b8f217e24d9ca39ac843b5a959908bf8b/src/platform/input/keyboard.js#L342-L358",
            "repo_url": "https://github.com/playcanvas/engine",
            "start_line": 342
          }
        ],
        "returned_matches": 5,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 5,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  381. 381
    +3:47:45Code ReadCode navigationthree4.3 sCompleted⌄
    Started
    Aug 7, 2026, 5:01:39 PM UTC
    Ended
    Aug 7, 2026, 5:01:43 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 14,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 14,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 14,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js#L1-L14",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 161
    }
    Request⌄

    Request payload

    {
      "end_line": 14,
      "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 14,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 14,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 14,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js#L1-L14",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 161
      },
      "title": null,
      "content": null
    }
  382. 382
    +3:47:58Code GrepCode navigationthree“directDiffuse += irradiance * BRDF_Lambert”5.4 sCompleted⌄

    directDiffuse += irradiance * BRDF_Lambert

    Started
    Aug 7, 2026, 5:01:52 PM UTC
    Ended
    Aug 7, 2026, 5:01:58 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 564,
          "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L552-L564",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 552
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js"
        }
      ],
      "pattern": "directDiffuse += irradiance * BRDF_Lambert",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 564,
            "file_path": "src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js#L552-L564",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 552
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  383. 383
    +3:47:59Code GrepCode navigationBabylonJS/Babylon.js“cameraAcceleration”1 min 2 sDeferred⌄

    cameraAcceleration

    Started
    Aug 7, 2026, 5:01:53 PM UTC
    Ended
    Aug 7, 2026, 5:02:55 PM UTC
    Outcome
    Deferred
    Targets
    1
    repo:https://github.com/BabylonJS/Babylon.js

    Result summary

    {
      "files_too_large_skipped": 0,
      "indexing_ref": "9b8d55ea-36c6-4b6c-8699-88f7c4365dd5",
      "next_cursor_present": false,
      "outcome": "deferred",
      "returned_matches": 0,
      "status": "success",
      "target_pointers": [
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "git_ref": "HEAD",
          "kind": "code_target",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "role": "resolved_requested"
        }
      ],
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "packages/dev/core/src/Cameras/followCamera.ts"
        }
      ],
      "pattern": "cameraAcceleration",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/BabylonJS/Babylon.js",
      "wait_timeout_ms": 60000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "indexing_ref": "9b8d55ea-36c6-4b6c-8699-88f7c4365dd5",
        "next_cursor_present": false,
        "outcome": "deferred",
        "returned_matches": 0,
        "status": "success",
        "target_pointers": [
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "git_ref": "HEAD",
            "kind": "code_target",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "role": "resolved_requested"
          }
        ],
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  384. 384
    +3:48:48Code ReadCode navigationthree1.5 sCompleted⌄
    Started
    Aug 7, 2026, 5:02:43 PM UTC
    Ended
    Aug 7, 2026, 5:02:44 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 230,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 81,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 230,
          "file_path": "src/lights/LightShadow.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/lights/LightShadow.js#L150-L230",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 150
        }
      ],
      "start_line": 150,
      "status": "success",
      "total_lines": 347
    }
    Request⌄

    Request payload

    {
      "end_line": 230,
      "file_path": "src/lights/LightShadow.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 150,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 230,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 81,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 230,
            "file_path": "src/lights/LightShadow.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/lights/LightShadow.js#L150-L230",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 150
          }
        ],
        "start_line": 150,
        "status": "success",
        "total_lines": 347
      },
      "title": null,
      "content": null
    }
  385. 385
    +3:48:52Code GrepCode navigationthree“normalBias”2.4 sCompleted⌄

    normalBias

    Started
    Aug 7, 2026, 5:02:46 PM UTC
    Ended
    Aug 7, 2026, 5:02:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
        "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 39,
          "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js#L27-L39",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 27
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 63,
          "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js#L51-L63",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 51
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 89,
          "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js#L77-L89",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 77
        }
      ],
      "returned_matches": 3,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 3,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js"
        }
      ],
      "pattern": "normalBias",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
          "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 39,
            "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js#L27-L39",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 27
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 63,
            "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js#L51-L63",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 51
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 89,
            "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js#L77-L89",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 77
          }
        ],
        "returned_matches": 3,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 3,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  386. 386
    +3:49:08Code ReadCode navigationthree2.9 sCompleted⌄
    Started
    Aug 7, 2026, 5:03:03 PM UTC
    Ended
    Aug 7, 2026, 5:03:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 95,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 66,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 95,
          "file_path": "examples/jsm/effects/OutlineEffect.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L30-L95",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 30
        }
      ],
      "start_line": 30,
      "status": "success",
      "total_lines": 489
    }
    Request⌄

    Request payload

    {
      "end_line": 95,
      "file_path": "examples/jsm/effects/OutlineEffect.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 30,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 95,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 66,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 95,
            "file_path": "examples/jsm/effects/OutlineEffect.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/effects/OutlineEffect.js#L30-L95",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 30
          }
        ],
        "start_line": 30,
        "status": "success",
        "total_lines": 489
      },
      "title": null,
      "content": null
    }
  387. 387
    +3:49:09Code GrepCode navigationthree“shadowNormalBias”4.9 sCompleted⌄

    shadowNormalBias

    Started
    Aug 7, 2026, 5:03:04 PM UTC
    Ended
    Aug 7, 2026, 5:03:09 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js",
        "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 38,
          "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js#L18-L38",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 18
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 51,
          "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js#L31-L51",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 31
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 2,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js"
        }
      ],
      "pattern": "shadowNormalBias",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js",
          "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 38,
            "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js#L18-L38",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 18
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 51,
            "file_path": "src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js#L31-L51",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 31
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  388. 388
    +3:49:12Code GrepCode navigationBabylonJS/Babylon.js“cameraAcceleration”48 sCompleted⌄

    cameraAcceleration

    Started
    Aug 7, 2026, 5:03:07 PM UTC
    Ended
    Aug 7, 2026, 5:03:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/BabylonJS/Babylon.js

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "packages/dev/core/src/Cameras/followCamera.pure.ts",
        "packages/dev/core/src/Cameras/followCamera.pure.ts",
        "packages/dev/core/src/Cameras/followCamera.pure.ts",
        "packages/dev/core/src/Cameras/followCamera.pure.ts"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "end_line": 95,
          "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "kind": "code",
          "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L79-L95",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "start_line": 79
        },
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "end_line": 149,
          "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "kind": "code",
          "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L133-L149",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "start_line": 133
        },
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "end_line": 150,
          "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "kind": "code",
          "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L134-L150",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "start_line": 134
        },
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "end_line": 151,
          "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "kind": "code",
          "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L135-L151",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "start_line": 135
        }
      ],
      "returned_matches": 4,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 4,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "packages/dev/core/src/Cameras/"
        }
      ],
      "pattern": "cameraAcceleration",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/BabylonJS/Babylon.js",
      "wait_timeout_ms": 60000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "packages/dev/core/src/Cameras/followCamera.pure.ts"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "end_line": 95,
            "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
            "kind": "code",
            "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L79-L95",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "start_line": 79
          },
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "end_line": 149,
            "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
            "kind": "code",
            "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L133-L149",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "start_line": 133
          },
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "end_line": 150,
            "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
            "kind": "code",
            "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L134-L150",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "start_line": 134
          },
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "end_line": 151,
            "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
            "kind": "code",
            "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L135-L151",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "start_line": 135
          }
        ],
        "returned_matches": 4,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 4,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  389. 389
    +3:50:01Code GrepCode navigationthree“updateMatrixWorld( force ) {”245 msCompleted⌄

    updateMatrixWorld( force ) {

    Started
    Aug 7, 2026, 5:03:56 PM UTC
    Ended
    Aug 7, 2026, 5:03:56 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1175,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1155-L1175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1155
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "updateMatrixWorld( force ) {",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1175,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1155-L1175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1155
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  390. 390
    +3:50:13Code GrepCode navigationthree“this.matrixWorldNeedsUpdate = true;”3.1 sCompleted⌄

    this.matrixWorldNeedsUpdate = true;

    Started
    Aug 7, 2026, 5:04:08 PM UTC
    Ended
    Aug 7, 2026, 5:04:11 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/Object3D.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1156,
          "file_path": "src/core/Object3D.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1144-L1156",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1144
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/Object3D.js"
        }
      ],
      "pattern": "this.matrixWorldNeedsUpdate = true;",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/Object3D.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1156,
            "file_path": "src/core/Object3D.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/Object3D.js#L1144-L1156",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1144
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  391. 391
    +3:53:23Code GrepCode navigationthree“addUpdateRange( start, count )”277 msCompleted⌄

    addUpdateRange( start, count )

    Started
    Aug 7, 2026, 5:07:17 PM UTC
    Ended
    Aug 7, 2026, 5:07:17 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferAttribute.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 191,
          "file_path": "src/core/BufferAttribute.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L171-L191",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 171
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/core/BufferAttribute.js"
        }
      ],
      "pattern": "addUpdateRange( start, count )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferAttribute.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 191,
            "file_path": "src/core/BufferAttribute.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferAttribute.js#L171-L191",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 171
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  392. 392
    +3:53:23Code GrepCode navigationthree“updateRanges”36 msCompleted⌄

    updateRanges

    Started
    Aug 7, 2026, 5:07:18 PM UTC
    Ended
    Aug 7, 2026, 5:07:18 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js",
        "src/renderers/webgl/WebGLAttributes.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 91,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L75-L91",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 75
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 91,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L75-L91",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 75
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 95,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L79-L95",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 79
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 111,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L95-L111",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 95
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 114,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L98-L114",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 98
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 120,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L104-L120",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 104
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 122,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L106-L122",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 106
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 123,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L107-L123",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 107
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 137,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L121-L137",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 121
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 144,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L128-L144",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 128
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 146,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L130-L146",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 130
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 148,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L132-L148",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 132
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 155,
          "file_path": "src/renderers/webgl/WebGLAttributes.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L139-L155",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 139
        }
      ],
      "returned_matches": 13,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 13,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLAttributes.js"
        }
      ],
      "pattern": "updateRanges",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js",
          "src/renderers/webgl/WebGLAttributes.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 91,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L75-L91",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 75
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 91,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L75-L91",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 75
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 95,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L79-L95",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 79
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 111,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L95-L111",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 95
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 114,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L98-L114",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 98
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 120,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L104-L120",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 104
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 122,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L106-L122",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 106
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 123,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L107-L123",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 107
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 137,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L121-L137",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 121
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 144,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L128-L144",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 128
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 146,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L130-L146",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 130
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 148,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L132-L148",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 132
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 155,
            "file_path": "src/renderers/webgl/WebGLAttributes.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLAttributes.js#L139-L155",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 139
          }
        ],
        "returned_matches": 13,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 13,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  393. 393
    +3:59:53Code GrepCode navigationBabylonJS/Babylon.js“public heightOffset”1.4 sCompleted⌄

    public heightOffset

    Started
    Aug 7, 2026, 5:13:48 PM UTC
    Ended
    Aug 7, 2026, 5:13:49 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/BabylonJS/Babylon.js

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "packages/dev/core/src/Cameras/followCamera.pure.ts"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
          "end_line": 77,
          "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
          "kind": "code",
          "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L57-L77",
          "repo_url": "https://github.com/babylonjs/babylon.js",
          "start_line": 57
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 2,
      "max_matches_per_file": 20,
      "path_selectors": [
        {
          "kind": "PREFIX",
          "value": "packages/dev/core/src/Cameras/followCamera.pure.ts"
        }
      ],
      "pattern": "public heightOffset",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/BabylonJS/Babylon.js",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "packages/dev/core/src/Cameras/followCamera.pure.ts"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "b15e177d5b7871248a2fccdbca0896cd609e8721",
            "end_line": 77,
            "file_path": "packages/dev/core/src/Cameras/followCamera.pure.ts",
            "kind": "code",
            "permalink": "https://github.com/babylonjs/babylon.js/blob/b15e177d5b7871248a2fccdbca0896cd609e8721/packages/dev/core/src/Cameras/followCamera.pure.ts#L57-L77",
            "repo_url": "https://github.com/babylonjs/babylon.js",
            "start_line": 57
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  394. 394
    +4:14:07Code GrepCode navigationthree“project( camera )”386 msCompleted⌄

    project( camera )

    Started
    Aug 7, 2026, 5:28:02 PM UTC
    Ended
    Aug 7, 2026, 5:28:02 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/math/Vector3.js",
        "src/math/Vector3.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 505,
          "file_path": "src/math/Vector3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L493-L505",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 493
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 518,
          "file_path": "src/math/Vector3.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L506-L518",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 506
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/math/Vector3.js"
        }
      ],
      "pattern": "project( camera )",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/math/Vector3.js",
          "src/math/Vector3.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 505,
            "file_path": "src/math/Vector3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L493-L505",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 493
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 518,
            "file_path": "src/math/Vector3.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/math/Vector3.js#L506-L518",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 506
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  395. 395
    +4:14:22Code GrepCode navigationpmndrs/three-stdlib“requestPointerLock”14 sCompleted⌄

    requestPointerLock

    Started
    Aug 7, 2026, 5:28:17 PM UTC
    Ended
    Aug 7, 2026, 5:28:31 PM UTC
    Outcome
    Result returned
    Targets
    1
    repo:https://github.com/pmndrs/three-stdlib

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/controls/PointerLockControls.ts"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "e0e835a267afd01d318c5ea532732af0235872da",
          "end_line": 133,
          "file_path": "src/controls/PointerLockControls.ts",
          "kind": "code",
          "permalink": "https://github.com/pmndrs/three-stdlib/blob/e0e835a267afd01d318c5ea532732af0235872da/src/controls/PointerLockControls.ts#L114-L133",
          "repo_url": "https://github.com/pmndrs/three-stdlib",
          "start_line": 114
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 12,
      "max_matches_per_file": 20,
      "pattern": "requestPointerLock",
      "pattern_type": "LITERAL",
      "repo_url": "https://github.com/pmndrs/three-stdlib",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/controls/PointerLockControls.ts"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "e0e835a267afd01d318c5ea532732af0235872da",
            "end_line": 133,
            "file_path": "src/controls/PointerLockControls.ts",
            "kind": "code",
            "permalink": "https://github.com/pmndrs/three-stdlib/blob/e0e835a267afd01d318c5ea532732af0235872da/src/controls/PointerLockControls.ts#L114-L133",
            "repo_url": "https://github.com/pmndrs/three-stdlib",
            "start_line": 114
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  396. 396
    +4:14:30Code GrepCode navigationthree“matrixWorldInverse”207 msCompleted⌄

    matrixWorldInverse

    Started
    Aug 7, 2026, 5:28:25 PM UTC
    Ended
    Aug 7, 2026, 5:28:25 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/cameras/Camera.js",
        "src/cameras/Camera.js",
        "src/cameras/Camera.js",
        "src/cameras/Camera.js",
        "src/cameras/Camera.js",
        "src/cameras/Camera.js",
        "src/cameras/Camera.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 48,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L38-L48",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 38
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 91,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L81-L91",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 81
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 91,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L81-L91",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 81
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 127,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L117-L127",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 117
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 131,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L121-L131",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 121
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 147,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L137-L147",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 137
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 151,
          "file_path": "src/cameras/Camera.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L141-L151",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 141
        }
      ],
      "returned_matches": 7,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/cameras/Camera.js"
        }
      ],
      "pattern": "matrixWorldInverse",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/cameras/Camera.js",
          "src/cameras/Camera.js",
          "src/cameras/Camera.js",
          "src/cameras/Camera.js",
          "src/cameras/Camera.js",
          "src/cameras/Camera.js",
          "src/cameras/Camera.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 48,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L38-L48",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 38
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 91,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L81-L91",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 81
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 91,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L81-L91",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 81
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 127,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L117-L127",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 117
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 131,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L121-L131",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 121
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 147,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L137-L147",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 137
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 151,
            "file_path": "src/cameras/Camera.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/cameras/Camera.js#L141-L151",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 141
          }
        ],
        "returned_matches": 7,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  397. 397
    +4:14:31Code GrepCode navigationthree“pointerlock”308 msCompleted⌄

    pointerlock

    Started
    Aug 7, 2026, 5:28:26 PM UTC
    Ended
    Aug 7, 2026, 5:28:26 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js",
        "examples/jsm/controls/PointerLockControls.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 21,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L5-L21",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 5
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 29,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L13-L29",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 13
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 37,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L21-L37",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 21
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 47,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L31-L47",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 31
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 50,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L34-L50",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 34
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 67,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L51-L67",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 51
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 67,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L51-L67",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 51
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 69,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L53-L69",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 53
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 117,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L101-L117",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 101
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 117,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L101-L117",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 101
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 118,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L102-L118",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 102
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 118,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L102-L118",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 102
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 133,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L117-L133",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 117
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 133,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L117-L133",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 117
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 134,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L118-L134",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 118
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 134,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L118-L134",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 118
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 141,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L125-L141",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 125
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 141,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L125-L141",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 125
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 142,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L126-L142",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 126
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 142,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L126-L142",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 126
        }
      ],
      "returned_matches": 20,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 20,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/controls/PointerLockControls.js"
        }
      ],
      "pattern": "pointerlock",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js",
          "examples/jsm/controls/PointerLockControls.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 21,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L5-L21",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 5
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 29,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L13-L29",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 13
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 37,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L21-L37",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 21
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 47,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L31-L47",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 31
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 50,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L34-L50",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 34
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 67,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L51-L67",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 51
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 67,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L51-L67",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 51
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 69,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L53-L69",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 53
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 117,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L101-L117",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 101
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 117,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L101-L117",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 101
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 118,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L102-L118",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 102
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 118,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L102-L118",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 102
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 133,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L117-L133",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 117
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 133,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L117-L133",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 117
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 134,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L118-L134",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 118
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 134,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L118-L134",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 118
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 141,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L125-L141",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 125
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 141,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L125-L141",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 125
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 142,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L126-L142",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 126
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 142,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L126-L142",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 126
          }
        ],
        "returned_matches": 20,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 20,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  398. 398
    +4:14:36Code GrepCode navigationthree“allowOverride”301 msCompleted⌄

    allowOverride

    Started
    Aug 7, 2026, 5:28:30 PM UTC
    Ended
    Aug 7, 2026, 5:28:31 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js",
        "src/materials/Material.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 445,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L431-L445",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 431
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 847,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L833-L847",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 833
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 847,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L833-L847",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 833
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 982,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L968-L982",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 968
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 982,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L968-L982",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 968
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 982,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L968-L982",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 968
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1173,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L1159-L1173",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1159
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1173,
          "file_path": "src/materials/Material.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L1159-L1173",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1159
        }
      ],
      "returned_matches": 8,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 7,
      "context_lines_before": 7,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/materials/Material.js"
        }
      ],
      "pattern": "allowOverride",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js",
          "src/materials/Material.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 445,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L431-L445",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 431
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 847,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L833-L847",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 833
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 847,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L833-L847",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 833
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 982,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L968-L982",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 968
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 982,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L968-L982",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 968
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 982,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L968-L982",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 968
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1173,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L1159-L1173",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1159
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1173,
            "file_path": "src/materials/Material.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/materials/Material.js#L1159-L1173",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1159
          }
        ],
        "returned_matches": 8,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  399. 399
    +4:14:37Code ReadCode navigationthree184 msCompleted⌄
    Started
    Aug 7, 2026, 5:28:32 PM UTC
    Ended
    Aug 7, 2026, 5:28:32 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 200,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 58,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 200,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L143-L200",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 143
        }
      ],
      "start_line": 143,
      "status": "success",
      "total_lines": 264
    }
    Request⌄

    Request payload

    {
      "end_line": 200,
      "file_path": "examples/jsm/controls/PointerLockControls.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 143,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 200,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 58,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 200,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L143-L200",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 143
          }
        ],
        "start_line": 143,
        "status": "success",
        "total_lines": 264
      },
      "title": null,
      "content": null
    }
  400. 400
    +4:14:43Code ReadCode navigationthree123 msCompleted⌄
    Started
    Aug 7, 2026, 5:28:38 PM UTC
    Ended
    Aug 7, 2026, 5:28:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 264,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 65,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 264,
          "file_path": "examples/jsm/controls/PointerLockControls.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L200-L264",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 200
        }
      ],
      "start_line": 200,
      "status": "success",
      "total_lines": 264
    }
    Request⌄

    Request payload

    {
      "end_line": 264,
      "file_path": "examples/jsm/controls/PointerLockControls.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 200,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 264,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 65,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 264,
            "file_path": "examples/jsm/controls/PointerLockControls.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/controls/PointerLockControls.js#L200-L264",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 200
          }
        ],
        "start_line": 200,
        "status": "success",
        "total_lines": 264
      },
      "title": null,
      "content": null
    }
  401. 401
    +4:15:08Get ExampleGenerated examplethree.js game contextual interact prompt: find nearest interactable in radius on key press and show HUD prompt1 source25 sCompleted⌄

    three.js game contextual interact prompt: find nearest interactable in radius on key press and show HUD prompt · javascript · strict

    Started
    Aug 7, 2026, 5:29:03 PM UTC
    Ended
    Aug 7, 2026, 5:29:28 PM UTC
    Outcome
    Result returned
    Targets
    1

    Three.js Nearest Interactable HUD Prompt

    // Assumes THREE is available globally and a canvas with id="game" exists.
    const scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera(60, innerWidth / innerHeight, 0.1, 1000);
    const renderer = new THREE.WebGLRenderer({ canvas: document.querySelector('#game'), antialias: true });
    renderer.setSize(innerWidth, innerHeight);
    
    const player = {
      position: new THREE.Vector3(0, 1, 5),
    };
    
    const interactables = [];
    const INTERACT_RADIUS = 3.5;
    let nearestInteractable = null;
    
    const hudPrompt = document.createElement('div');
    hudPrompt.style.cssText = `
      position: fixed;
      left: 50%;
      bottom: 12%;
      transform: translateX(-50%);
      padding: 10px 16px;
      color: white;
      background: rgba(0, 0, 0, 0.75);
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 6px;
      font: 16px sans-serif;
      display: none;
      pointer-events: none;
    `;
    document.body.appendChild(hudPrompt);
    
    function addInteractable({ position, label, onInteract, color = 0x4caf50 }) {
      const mesh = new THREE.Mesh(
        new THREE.BoxGeometry(1, 1, 1),
        new THREE.MeshStandardMaterial({ color })
      );
    
      mesh.position.copy(position);
      mesh.userData.interactable = { label, onInteract };
      scene.add(mesh);
      interactables.push(mesh);
      return mesh;
    }
    
    function findNearestInteractable() {
      let nearest = null;
      let nearestDistance = INTERACT_RADIUS;
      const playerPosition = player.position;
    
      for (const object of interactables) {
        if (!object.visible || !object.userData.interactable) continue;
    
        const distance = playerPosition.distanceTo(object.position);
        if (distance <= nearestDistance) {
          nearest = object;
          nearestDistance = distance;
        }
      }
    
      return nearest;
    }
    
    function updateInteractPrompt() {
      nearestInteractable = findNearestInteractable();
    
      if (!nearestInteractable) {
        hudPrompt.style.display = 'none';
        hudPrompt.textContent = '';
        return;
      }
    
      const { label } = nearestInteractable.userData.interactable;
      hudPrompt.textContent = `Press E to ${label}`;
      hudPrompt.style.display = 'block';
    }
    
    function interact() {
      // Recalculate on key press so the target cannot become stale between frames.
      const target = findNearestInteractable();
      if (!target) return;
    
      target.userData.interactable.onInteract({
        object: target,
        player,
      });
    
      updateInteractPrompt();
    }
    
    window.addEventListener('keydown', (event) => {
      if (event.code !== 'KeyE' || event.repeat) return;
      interact();
    });
    
    // Example interactables.
    addInteractable({
      position: new THREE.Vector3(-2, 0.5, 1),
      label: 'open chest',
      onInteract: ({ object }) => {
        object.material.color.set(0xffc107);
        object.userData.interactable.label = 'close chest';
      },
    });
    
    addInteractable({
      position: new THREE.Vector3(2, 0.5, 1),
      label: 'talk',
      color: 0x2196f3,
      onInteract: () => {
        hudPrompt.textContent = 'Hello there!';
      },
    });
    
    // Replace this movement with your game's player controller.
    window.addEventListener('keydown', (event) => {
      const step = 0.25;
      if (event.code === 'KeyW') player.position.z -= step;
      if (event.code === 'KeyS') player.position.z += step;
      if (event.code === 'KeyA') player.position.x -= step;
      if (event.code === 'KeyD') player.position.x += step;
    });
    
    function animate() {
      requestAnimationFrame(animate);
      updateInteractPrompt();
      camera.position.set(player.position.x, 6, player.position.z + 8);
      camera.lookAt(player.position);
      renderer.render(scene, camera);
    }
    
    scene.add(new THREE.HemisphereLight(0xffffff, 0x444444, 2));
    scene.add(new THREE.GridHelper(20, 20));
    animate();
    
    References
    1
    1. jamescockburn47/moorsteadsrc/main.js

      Moorstead’s main.js shows a three.js gameplay HUD prompt system tied to proximity/radius/interact logic (including interactHint updates), so it’s directly relevant to nearest-interactable-in-radius-on-key-press with a contextual HUD prompt; it’s a concrete integration example though not an isolated reusable utility.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js game contextual interact prompt: find nearest interactable in radius on key press and show HUD prompt",
      "language": "javascript",
      "license_mode": "strict"
    }
  402. 402
    +4:17:01Code GrepCode navigationthree“forceClear = true”218 msCompleted⌄

    forceClear = true

    Started
    Aug 7, 2026, 5:30:55 PM UTC
    Ended
    Aug 7, 2026, 5:30:56 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/webgl/WebGLBackground.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 68,
          "file_path": "src/renderers/webgl/WebGLBackground.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBackground.js#L48-L68",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 48
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/renderers/webgl/WebGLBackground.js"
        }
      ],
      "pattern": "forceClear = true",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/webgl/WebGLBackground.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 68,
            "file_path": "src/renderers/webgl/WebGLBackground.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/webgl/WebGLBackground.js#L48-L68",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 48
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  403. 403
    +4:30:24Get ExampleGenerated exampleWeb Audio unlock on user gesture: call AudioContext.resume() inside the gesture then build expensive impulse response buffers asynchronously off the main thread critical path3 sources38 sCompleted⌄

    Web Audio unlock on user gesture: call AudioContext.resume() inside the gesture then build expensive impulse response buffers asynchronously off the main thread critical path · javascript · strict

    Started
    Aug 7, 2026, 5:44:19 PM UTC
    Ended
    Aug 7, 2026, 5:44:57 PM UTC
    Outcome
    Result returned
    Targets
    3

    Unlock Web Audio on Gesture While Building IR Off-Thread

    // Browser example: save as an HTML script or run as a module in a page with
    // <button id="start">Start audio</button>.
    
    const startButton = document.querySelector('#start');
    const status = document.querySelector('#status');
    
    const AudioContextClass = window.AudioContext || window.webkitAudioContext;
    const audioContext = new AudioContextClass();
    
    // Keep construction cheap and explicitly suspended until a gesture.
    const input = audioContext.createGain();
    const convolver = audioContext.createConvolver();
    const output = audioContext.createGain();
    output.gain.value = 0.25;
    
    input.connect(convolver).connect(output).connect(audioContext.destination);
    
    const irWorker = new Worker(
      URL.createObjectURL(new Blob([`
        self.onmessage = ({ data: { sampleRate, seconds } }) => {
          const length = Math.floor(sampleRate * seconds);
          const left = new Float32Array(length);
          const right = new Float32Array(length);
    
          // Expensive impulse-response synthesis stays outside the UI thread.
          for (let i = 0; i < length; i++) {
            const time = i / sampleRate;
            const envelope = Math.pow(1 - time / seconds, 3);
            const earlyReflection = i % Math.floor(sampleRate * 0.031) === 0;
            const reflectionGain = earlyReflection ? 0.35 : 1;
            const noise = (Math.random() * 2 - 1) * envelope * reflectionGain;
    
            left[i] = noise;
            right[i] = noise * 0.92;
          }
    
          self.postMessage({ left, right }, [left.buffer, right.buffer]);
        };
      `], { type: 'application/javascript' }))
    );
    
    let impulseResponseReady;
    
    function buildImpulseResponseInWorker() {
      impulseResponseReady = new Promise((resolve, reject) => {
        irWorker.onmessage = ({ data: { left, right } }) => {
          try {
            const buffer = audioContext.createBuffer(
              2,
              left.length,
              audioContext.sampleRate
            );
            buffer.copyToChannel(left, 0);
            buffer.copyToChannel(right, 1);
            convolver.buffer = buffer;
            resolve();
          } catch (error) {
            reject(error);
          }
        };
        irWorker.onerror = reject;
    
        irWorker.postMessage({
          sampleRate: audioContext.sampleRate,
          seconds: 2
        });
      });
    }
    
    // Start expensive preparation before the click. It does not unlock audio.
    buildImpulseResponseInWorker();
    
    startButton.addEventListener('click', () => {
      // Do not await before this call: resume must be reached directly by the
      // user-gesture handler on browsers that enforce autoplay restrictions.
      const unlock = audioContext.resume();
    
      unlock.then(async () => {
        status.textContent = 'Audio unlocked; preparing impulse response…';
        await impulseResponseReady;
    
        const oscillator = audioContext.createOscillator();
        oscillator.frequency.value = 220;
        oscillator.connect(input);
        oscillator.start();
    
        status.textContent = 'Playing';
        startButton.disabled = true;
    
        // Stop the demo source after a short period; the context remains reusable.
        setTimeout(() => oscillator.stop(), 1000);
      }).catch((error) => {
        console.error('Unable to unlock audio:', error);
        status.textContent = 'Audio could not be started';
      });
    });
    
    References
    3
    1. block/buzz[Bug] Idle desktop app burns ~4% CPU and pins the audio device awake

      Strong, specific evidence around Web Audio AudioContext suspension/resume and user-gesture unlocking behavior (including why resume may happen automatically on macOS autoplay settings), plus concrete guidance that decoding can be done with OfflineAudioContext off the main path for impulse/asset preparation.

      issueApache-2.0
    2. rahil-algobear/SpeedRacersrc/audio/AudioEngine.js

      Strong match: JavaScript Web Audio pattern that calls `AudioContext.resume()` from a user gesture and avoids blocking by precomputing expensive data (noise beds/impulse responses/firing-model transforms) ahead of the resume critical path.

      codeMIT
    3. GoogleChromeLabs/web-audio-samplessrc/experiments/webgpuaudio/main.js

      Strong match for the requested pattern: `audioContext.resume()` is triggered from a user click, and the audio pipeline is set up with an `AudioWorkletNode`/Worker using queued/shared buffers so the heavy processing (including impulse response data handling) can proceed off the main critical path.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "Web Audio unlock on user gesture: call AudioContext.resume() inside the gesture then build expensive impulse response buffers asynchronously off the main thread critical path",
      "language": "javascript",
      "license_mode": "strict"
    }
  404. 404
    +4:31:16Get ExampleGenerated examplegame state machine game over screen retry restores player health and respawn position, pop state with retry result payload3 sources26 sCompleted⌄

    game state machine game over screen retry restores player health and respawn position, pop state with retry result payload · javascript · strict

    Started
    Aug 7, 2026, 5:45:10 PM UTC
    Ended
    Aug 7, 2026, 5:45:37 PM UTC
    Outcome
    Result returned
    Targets
    3

    Game State Machine with Retry Result Payload

    class StateMachine {
      constructor() {
        this.stack = [];
      }
    
      push(state, payload) {
        this.stack.push(state);
        state.enter?.(this, payload);
      }
    
      pop(result) {
        const state = this.stack.pop();
        state?.exit?.(result);
    
        const parent = this.stack.at(-1);
        parent?.resume?.(this, result);
        return result;
      }
    
      update(input) {
        this.stack.at(-1)?.update?.(this, input);
      }
    }
    
    class PlayState {
      constructor() {
        this.maxHealth = 100;
        this.health = this.maxHealth;
        this.respawnPosition = { x: 0, y: 0 };
        this.position = { ...this.respawnPosition };
        this.checkpoint = null;
      }
    
      enter(machine, payload = {}) {
        if (payload.respawn) {
          this.restoreCheckpoint(payload.respawn);
        }
    
        console.log(`Playing at (${this.position.x}, ${this.position.y}) with ${this.health} HP`);
      }
    
      update(machine, input = {}) {
        if (input.checkpoint) {
          this.setCheckpoint(input.checkpoint);
        }
    
        if (input.damage) {
          this.health = Math.max(0, this.health - input.damage);
          console.log(`Player health: ${this.health}`);
        }
    
        if (this.health === 0) {
          this.showGameOver(machine);
        }
      }
    
      setCheckpoint(position) {
        this.checkpoint = {
          position: { ...position },
          health: this.maxHealth,
        };
        this.respawnPosition = { ...position };
        console.log(`Checkpoint saved at (${position.x}, ${position.y})`);
      }
    
      showGameOver(machine) {
        // Capture the checkpoint before pushing the game-over state.
        const respawn = this.checkpoint ?? {
          position: { ...this.respawnPosition },
          health: this.maxHealth,
        };
    
        machine.push(new GameOverState(), {
          respawn: {
            position: { ...respawn.position },
            health: respawn.health,
          },
        });
      }
    
      resume(machine, result) {
        if (result?.action !== "retry") return;
    
        // The game-over state was popped with a result payload.
        this.restoreCheckpoint(result.respawn);
        console.log("Retry selected");
        console.log(`Respawned at (${this.position.x}, ${this.position.y}) with ${this.health} HP`);
      }
    
      restoreCheckpoint(respawn) {
        this.position = { ...respawn.position };
        this.respawnPosition = { ...respawn.position };
        this.health = respawn.health;
      }
    }
    
    class GameOverState {
      enter(machine, payload) {
        this.respawn = payload.respawn;
        console.log("GAME OVER — press R to retry or Q to quit");
      }
    
      update(machine, input = {}) {
        if (input.retry) {
          machine.pop({
            action: "retry",
            respawn: {
              position: { ...this.respawn.position },
              health: this.respawn.health,
            },
          });
        } else if (input.quit) {
          machine.pop({ action: "quit" });
        }
      }
    }
    
    // Runnable demonstration.
    const game = new StateMachine();
    const play = new PlayState();
    game.push(play);
    
    game.update({ checkpoint: { x: 120, y: 64 } });
    game.update({ damage: 100 });
    console.log("Current state:", game.stack.at(-1).constructor.name);
    
    game.update({ retry: true });
    console.log("Current state:", game.stack.at(-1).constructor.name);
    
    References
    3
    1. devilsir/devilsir.github.ioWonder World/src/core/Game.js

      Contains a JavaScript game controller with explicit state management (e.g., `stage`, `respawning`), checkpoint/respawn handling (`handleRespawn`, `checkpoint`, `lastCheckpoint`), and game-over/lifecycle logic inside `Game.js`, aligning with the “retry/respawn after game over” part of the query, though it doesn’t clearly show the specific “pop state with retry result payload” pattern.

      codeMIT
    2. arifulislamat/p2p-maze-shootersrc/game.js

      Contains an online game state flow with a GAME_OVER restart_request handshake and a reconnection/resync mechanism that reboots match state without full reset; while it doesn’t explicitly show a stack “pop state” retry-result payload, it’s the closest JavaScript implementation-level match to “retry after game over” and state restoration.

      codeMIT
    3. AbelConsulting/ChipSavagejs/game.js

      JavaScript game controller code that includes a state machine with GAME_OVER and an explicit respawn/death flow (respawnTimer, isRespawning, _pendingRespawn), which aligns with “game over → retry/respawn” behavior, though it doesn’t clearly show a “pop state with retry result payload” mechanism.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "game state machine game over screen retry restores player health and respawn position, pop state with retry result payload",
      "language": "javascript",
      "license_mode": "strict"
    }
  405. 405
    +4:46:22Code ReadCode navigationthree1.4 sCompleted⌄
    Started
    Aug 7, 2026, 6:00:17 PM UTC
    Ended
    Aug 7, 2026, 6:00:18 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 150,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 150,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 150,
          "file_path": "src/objects/LOD.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/LOD.js#L1-L150",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1
        }
      ],
      "start_line": 1,
      "status": "success",
      "total_lines": 329
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/objects/LOD.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 150,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 150,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 150,
            "file_path": "src/objects/LOD.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/LOD.js#L1-L150",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1
          }
        ],
        "start_line": 1,
        "status": "success",
        "total_lines": 329
      },
      "title": null,
      "content": null
    }
  406. 406
    +4:46:31Code ReadCode navigationthree1.2 sCompleted⌄
    Started
    Aug 7, 2026, 6:00:26 PM UTC
    Ended
    Aug 7, 2026, 6:00:27 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 300,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 106,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 300,
          "file_path": "src/objects/LOD.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/LOD.js#L195-L300",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 195
        }
      ],
      "start_line": 195,
      "status": "success",
      "total_lines": 329
    }
    Request⌄

    Request payload

    {
      "end_line": 300,
      "file_path": "src/objects/LOD.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 195,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 300,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 106,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 300,
            "file_path": "src/objects/LOD.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/LOD.js#L195-L300",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 195
          }
        ],
        "start_line": 195,
        "status": "success",
        "total_lines": 329
      },
      "title": null,
      "content": null
    }
  407. 407
    +4:48:42Code GrepCode navigationthree“export function mergeVertices”180 msNo result⌄

    export function mergeVertices

    Started
    Aug 7, 2026, 6:02:36 PM UTC
    Ended
    Aug 7, 2026, 6:02:37 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/utils/BufferGeometryUtils.js"
        }
      ],
      "pattern": "export function mergeVertices",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  408. 408
    +4:48:43Code GrepCode navigationthree“FLAT_SHADED”1.2 sCompleted⌄

    FLAT_SHADED

    Started
    Aug 7, 2026, 6:02:38 PM UTC
    Ended
    Aug 7, 2026, 6:02:39 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.cjs",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js",
        "build/three.module.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60425,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60413-L60425",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60413
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60429,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60417-L60429",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60417
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60431,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60419-L60431",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60419
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60433,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60421-L60433",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60421
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60527,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60515-L60527",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60515
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60537,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60525-L60537",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60525
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60537,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60525-L60537",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60525
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 60539,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60527-L60539",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 60527
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66793,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66781-L66793",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 66781
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 66965,
          "file_path": "build/three.cjs",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66953-L66965",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 66953
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 447,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L435-L447",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 435
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 451,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L439-L451",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 439
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 453,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L441-L453",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 441
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 455,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L443-L455",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 443
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 549,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L537-L549",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 537
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 559,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L547-L559",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 547
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 559,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L547-L559",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 547
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 561,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L549-L561",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 549
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6815,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6803-L6815",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6803
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 6987,
          "file_path": "build/three.module.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6975-L6987",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 6975
        }
      ],
      "returned_matches": 20,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 20,
      "unique_files_matched": 2
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 20,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "FLAT_SHADED",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.cjs",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js",
          "build/three.module.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60425,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60413-L60425",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60413
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60429,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60417-L60429",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60417
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60431,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60419-L60431",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60419
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60433,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60421-L60433",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60421
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60527,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60515-L60527",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60515
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60537,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60525-L60537",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60525
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60537,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60525-L60537",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60525
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 60539,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L60527-L60539",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 60527
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66793,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66781-L66793",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 66781
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 66965,
            "file_path": "build/three.cjs",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.cjs#L66953-L66965",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 66953
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 447,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L435-L447",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 435
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 451,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L439-L451",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 439
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 453,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L441-L453",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 441
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 455,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L443-L455",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 443
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 549,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L537-L549",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 537
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 559,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L547-L559",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 547
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 559,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L547-L559",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 547
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 561,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L549-L561",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 549
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6815,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6803-L6815",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6803
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 6987,
            "file_path": "build/three.module.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/build/three.module.js#L6975-L6987",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 6975
          }
        ],
        "returned_matches": 20,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 20,
        "unique_files_matched": 2
      },
      "title": null,
      "content": null
    }
  409. 409
    +4:49:00Code GrepCode navigationthree“overrideMaterial”206 msCompleted⌄

    overrideMaterial

    Started
    Aug 7, 2026, 6:02:54 PM UTC
    Ended
    Aug 7, 2026, 6:02:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js",
        "src/renderers/WebGLRenderer.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 354,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L346-L354",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 346
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1979,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1971-L1979",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1971
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1979,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1971-L1979",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1971
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1981,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1973-L1981",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1973
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2103,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2095-L2103",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2095
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2103,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2095-L2103",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2095
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2112,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2104-L2112",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2104
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2114,
          "file_path": "src/renderers/WebGLRenderer.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2106-L2114",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2106
        }
      ],
      "returned_matches": 8,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 8,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 4,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 8,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/renderers/WebGLRenderer.js"
        }
      ],
      "pattern": "overrideMaterial",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js",
          "src/renderers/WebGLRenderer.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 354,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L346-L354",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 346
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1979,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1971-L1979",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1971
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1979,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1971-L1979",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1971
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1981,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L1973-L1981",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1973
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2103,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2095-L2103",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2095
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2103,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2095-L2103",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2095
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2112,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2104-L2112",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2104
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2114,
            "file_path": "src/renderers/WebGLRenderer.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/renderers/WebGLRenderer.js#L2106-L2114",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2106
          }
        ],
        "returned_matches": 8,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 8,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  410. 410
    +6:00:23Get ExampleGenerated examplethree.js LOD impostor billboard for distant vegetation instanced level of detail switch distance3 sources27 sCompleted⌄

    three.js LOD impostor billboard for distant vegetation instanced level of detail switch distance · javascript · strict

    Started
    Aug 7, 2026, 7:14:18 PM UTC
    Ended
    Aug 7, 2026, 7:14:45 PM UTC
    Outcome
    Result returned
    Targets
    3

    Three.js Instanced Vegetation with Distance-Based Billboard LOD

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9fc7e8);
    scene.fog = new THREE.Fog(0x9fc7e8, 90, 260);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 500);
    camera.position.set(35, 24, 45);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xb9dcff, 0x40512b, 2));
    const sun = new THREE.DirectionalLight(0xffffff, 2.5);
    sun.position.set(40, 80, 30);
    sun.castShadow = true;
    scene.add(sun);
    
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(400, 400),
      new THREE.MeshStandardMaterial({ color: 0x526b38, roughness: 1 })
    );
    ground.rotation.x = -Math.PI / 2;
    ground.receiveShadow = true;
    scene.add(ground);
    
    // Generate a vegetation texture without requiring an external asset.
    function createTreeTexture() {
      const canvas = document.createElement('canvas');
      canvas.width = canvas.height = 256;
      const ctx = canvas.getContext('2d');
      ctx.clearRect(0, 0, 256, 256);
    
      ctx.fillStyle = '#65452b';
      ctx.fillRect(119, 112, 18, 112);
    
      for (const leaf of [
        [128, 58, 58], [82, 102, 48], [174, 103, 50], [128, 125, 70],
      ]) {
        const [x, y, r] = leaf;
        const gradient = ctx.createRadialGradient(x - r * 0.25, y - r * 0.3, 3, x, y, r);
        gradient.addColorStop(0, '#9bd45b');
        gradient.addColorStop(1, '#245d2d');
        ctx.fillStyle = gradient;
        ctx.beginPath();
        ctx.arc(x, y, r, 0, Math.PI * 2);
        ctx.fill();
      }
    
      const texture = new THREE.CanvasTexture(canvas);
      texture.colorSpace = THREE.SRGBColorSpace;
      texture.minFilter = THREE.LinearMipmapLinearFilter;
      return texture;
    }
    
    const spriteTexture = createTreeTexture();
    const treeCount = 1200;
    const highDistance = 42;
    const lowDistance = 58;
    const fadeHysteresis = 4;
    
    // High-detail geometry is shared by every near tree.
    const trunkMesh = new THREE.InstancedMesh(
      new THREE.CylinderGeometry(0.18, 0.32, 4, 7),
      new THREE.MeshStandardMaterial({ color: 0x69472b, roughness: 1 }),
      treeCount
    );
    const crownMesh = new THREE.InstancedMesh(
      new THREE.IcosahedronGeometry(2.8, 1),
      new THREE.MeshStandardMaterial({ color: 0x347b38, roughness: 0.9 }),
      treeCount
    );
    trunkMesh.castShadow = crownMesh.castShadow = true;
    trunkMesh.frustumCulled = crownMesh.frustumCulled = false;
    scene.add(trunkMesh, crownMesh);
    
    // One shared alpha-card mesh represents every distant tree.
    const billboardMaterial = new THREE.MeshBasicMaterial({
      map: spriteTexture,
      transparent: true,
      alphaTest: 0.35,
      depthWrite: true,
      side: THREE.DoubleSide,
    });
    const billboardMesh = new THREE.InstancedMesh(
      new THREE.PlaneGeometry(7, 10),
      billboardMaterial,
      treeCount
    );
    billboardMesh.frustumCulled = false;
    scene.add(billboardMesh);
    
    const trees = [];
    const highMatrix = new THREE.Matrix4();
    const billboardMatrix = new THREE.Matrix4();
    const position = new THREE.Vector3();
    const scale = new THREE.Vector3();
    const billboardQuaternion = new THREE.Quaternion();
    const billboardScale = new THREE.Vector3(1, 1, 1);
    const hiddenScale = new THREE.Vector3(0, 0, 0);
    
    for (let i = 0; i < treeCount; i++) {
      const angle = Math.random() * Math.PI * 2;
      const radius = 12 + Math.sqrt(Math.random()) * 145;
      position.set(Math.cos(angle) * radius, 0, Math.sin(angle) * radius);
    
      const height = 0.8 + Math.random() * 1.5;
      scale.setScalar(height);
      highMatrix.compose(position, new THREE.Quaternion(), scale);
      trunkMesh.setMatrixAt(i, highMatrix);
    
      position.y = 4.1 * height;
      highMatrix.compose(position, new THREE.Quaternion(), scale);
      crownMesh.setMatrixAt(i, highMatrix);
      position.y = 0;
    
      trees.push({ position: position.clone(), high: true, height });
    }
    
    trunkMesh.instanceMatrix.needsUpdate = true;
    crownMesh.instanceMatrix.needsUpdate = true;
    
    const cameraPosition = new THREE.Vector3();
    const temp = new THREE.Vector3();
    
    function updateVegetationLOD() {
      camera.getWorldPosition(cameraPosition);
    
      for (let i = 0; i < trees.length; i++) {
        const tree = trees[i];
        const distance = cameraPosition.distanceTo(tree.position);
    
        // Hysteresis prevents rapid toggling when the camera is near the boundary.
        if (tree.high && distance > lowDistance + fadeHysteresis) tree.high = false;
        if (!tree.high && distance < highDistance - fadeHysteresis) tree.high = true;
    
        if (tree.high) {
          trunkMesh.setMatrixAt(i, highMatrix.compose(
            tree.position,
            new THREE.Quaternion(),
            temp.setScalar(tree.height)
          ));
          temp.set(tree.position.x, tree.position.y + 4.1 * tree.height, tree.position.z);
          crownMesh.setMatrixAt(i, highMatrix.compose(
            temp,
            new THREE.Quaternion(),
            temp.setScalar(tree.height)
          ));
          billboardMesh.setMatrixAt(i, billboardMatrix.compose(
            tree.position,
            new THREE.Quaternion(),
            hiddenScale
          ));
        } else {
          // A camera-facing plane is the impostor. Only its instance matrix changes.
          temp.copy(tree.position);
          temp.y += 5 * tree.height;
          billboardQuaternion.copy(camera.quaternion);
          billboardMesh.setMatrixAt(i, billboardMatrix.compose(
            temp,
            billboardQuaternion,
            billboardScale.set(tree.height, tree.height, tree.height)
          ));
    
          trunkMesh.setMatrixAt(i, highMatrix.compose(
            tree.position,
            new THREE.Quaternion(),
            hiddenScale
          ));
          crownMesh.setMatrixAt(i, highMatrix.compose(
            tree.position,
            new THREE.Quaternion(),
            hiddenScale
          ));
        }
      }
    
      trunkMesh.instanceMatrix.needsUpdate = true;
      crownMesh.instanceMatrix.needsUpdate = true;
      billboardMesh.instanceMatrix.needsUpdate = true;
    }
    
    function animate() {
      requestAnimationFrame(animate);
      updateVegetationLOD();
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    3
    1. webmemo-code/ai-learning-treegrove/walk-app.mjs

      Contains a concrete three.js impostor/billboard-style vegetation rendering approach using InstancedMesh (pads, glow) and mentions LOD, but it’s specific to the project’s “impostor” scheme rather than a standard distance-based LOD switch implementation.

      codeMIT
    2. SkyeShark/SeedThreesrc/main.js

      SeedThree main implementation uses three.js impostor/billboard baking (bakeImpostor/assembleBillboardFromRawBake, disposeBillboard) for distant vegetation, with an LOD-style pipeline and instancing-aware geometry handling; it’s not laser-focused on the exact “LOD switch distance” wiring in this snippet but is strongly relevant to the requested impostor billboard vegetation LOD approach in JavaScript.

      codeMIT
    3. danilokhury/Synabunneural-interface/public/variant/3d/graph.js

      Contains Three.js JavaScript code that uses InstancedMesh together with LOD/distance terms, but it’s for a neural-graph renderer and doesn’t clearly implement an impostor billboard vegetation LOD switch strategy or explicit distant impostor/billboard distances.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "three.js LOD impostor billboard for distant vegetation instanced level of detail switch distance",
      "language": "javascript",
      "license_mode": "strict"
    }
  411. 411
    +6:02:19Get ExampleGenerated examplefaceted low poly rock boulder geometry flat shading toNonIndexed computeVertexNormals stylized2 sources22 sCompleted⌄

    faceted low poly rock boulder geometry flat shading toNonIndexed computeVertexNormals stylized · javascript · strict

    Started
    Aug 7, 2026, 7:16:14 PM UTC
    Ended
    Aug 7, 2026, 7:16:36 PM UTC
    Outcome
    Result returned
    Targets
    2

    Faceted Low-Poly Boulder Geometry in Three.js

    import * as THREE from 'three';
    
    // Create an irregular boulder with one independent vertex per triangle.
    export function createLowPolyBoulder({
      radius = 1,
      seed = 1234,
      color = 0x807568,
    } = {}) {
      const geometry = new THREE.IcosahedronGeometry(radius, 2).toNonIndexed();
      const positions = geometry.attributes.position;
      const random = mulberry32(seed);
      const vertex = new THREE.Vector3();
    
      // Deform each triangle vertex to create a stylized, uneven silhouette.
      for (let i = 0; i < positions.count; i++) {
        vertex.fromBufferAttribute(positions, i).normalize();
    
        const broadLump = noise3(vertex.x * 2.1, vertex.y * 2.1, vertex.z * 2.1, seed) * 0.18;
        const smallLump = noise3(vertex.x * 6.0, vertex.y * 6.0, vertex.z * 6.0, seed + 17) * 0.06;
        const amount = 0.88 + broadLump + smallLump;
    
        vertex.multiplyScalar(amount);
        vertex.y *= 0.78; // Squat boulder profile.
        vertex.x *= 1.08;
        positions.setXYZ(i, vertex.x, vertex.y, vertex.z);
      }
    
      // Independent triangle vertices are required for crisp per-face normals.
      geometry.computeVertexNormals();
      geometry.computeBoundingSphere();
    
      const material = new THREE.MeshStandardMaterial({
        color,
        roughness: 0.95,
        metalness: 0,
        flatShading: true,
      });
    
      const boulder = new THREE.Mesh(geometry, material);
      boulder.castShadow = true;
      boulder.receiveShadow = true;
      return boulder;
    }
    
    function mulberry32(value) {
      return () => {
        value |= 0;
        value = value + 0x6d2b79f5 | 0;
        let t = Math.imul(value ^ value >>> 15, 1 | value);
        t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
        return ((t ^ t >>> 14) >>> 0) / 4294967296;
      };
    }
    
    // Lightweight deterministic value noise for repeatable rock deformation.
    function noise3(x, y, z, seed) {
      const hash = (n) => {
        const value = Math.sin(n * 127.1 + seed * 311.7) * 43758.5453;
        return value - Math.floor(value);
      };
    
      const ix = Math.floor(x);
      const iy = Math.floor(y);
      const iz = Math.floor(z);
      const fx = x - ix;
      const fy = y - iy;
      const fz = z - iz;
      const smooth = (t) => t * t * (3 - 2 * t);
      const sx = smooth(fx);
      const sy = smooth(fy);
      const sz = smooth(fz);
      const at = (dx, dy, dz) => hash((ix + dx) * 73856093 + (iy + dy) * 19349663 + (iz + dz) * 83492791);
      const x00 = at(0, 0, 0) * (1 - sx) + at(1, 0, 0) * sx;
      const x10 = at(0, 1, 0) * (1 - sx) + at(1, 1, 0) * sx;
      const x01 = at(0, 0, 1) * (1 - sx) + at(1, 0, 1) * sx;
      const x11 = at(0, 1, 1) * (1 - sx) + at(1, 1, 1) * sx;
      const y0 = x00 * (1 - sy) + x10 * sy;
      const y1 = x01 * (1 - sy) + x11 * sy;
      return (y0 * (1 - sz) + y1 * sz) * 2 - 1;
    }
    
    References
    2
    1. crunchybananas/shipyard-microtoolsdocs/the-island/js/props.js

      Contains Three.js rock/boulder geometry generation and calls computeVertexNormals, plus low-poly style mesh handling, but it does not clearly show the exact toNonIndexed + faceted/flat-shading workflow requested (flatShading is mostly false and no explicit toNonIndexed usage appears in the provided snippet).

      codeMIT
    2. craftmygame/little-citylittle-taipei/main.js

      Uses Three.js faceted workflow keywords—`toNonIndexed()` and `computeVertexNormals()`—to achieve flat/per-face shading, but it’s embedded in a larger game/scene and not specifically about stylized low-poly rock boulders.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "faceted low poly rock boulder geometry flat shading toNonIndexed computeVertexNormals stylized",
      "language": "javascript",
      "license_mode": "strict"
    }
  412. 412
    +6:02:55Code GrepCode navigationthree“toNonIndexed”254 msCompleted⌄

    toNonIndexed

    Started
    Aug 7, 2026, 7:16:49 PM UTC
    Ended
    Aug 7, 2026, 7:16:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js",
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1131,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1115-L1131",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1115
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1171,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1155-L1171",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1155
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 3,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "toNonIndexed",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js",
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1131,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1115-L1131",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1115
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1171,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1155-L1171",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1155
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  413. 413
    +6:02:55Code GrepCode navigationthree“mergeVertices”132 msCompleted⌄

    mergeVertices

    Started
    Aug 7, 2026, 7:16:50 PM UTC
    Ended
    Aug 7, 2026, 7:16:50 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 648,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L638-L648",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 638
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1501,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1491-L1501",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1491
        }
      ],
      "returned_matches": 2,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 2,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 5,
      "context_lines_before": 5,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 4,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/utils/BufferGeometryUtils.js"
        }
      ],
      "pattern": "mergeVertices",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 648,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L638-L648",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 638
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1501,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1491-L1501",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1491
          }
        ],
        "returned_matches": 2,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 2,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  414. 414
    +6:03:00Code GrepCode navigationthree“function toCreasedNormals”47 msCompleted⌄

    function toCreasedNormals

    Started
    Aug 7, 2026, 7:16:55 PM UTC
    Ended
    Aug 7, 2026, 7:16:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1325,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1305-L1325",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1305
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "examples/jsm/utils/BufferGeometryUtils.js"
        }
      ],
      "pattern": "function toCreasedNormals",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1325,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1305-L1325",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1305
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  415. 415
    +6:03:54Get ExampleGenerated examplethree.js terrain heightmap with separate cliff mesh overhang rock outcrop geometry placed on top of heightfield1 source24 sCompleted⌄

    three.js terrain heightmap with separate cliff mesh overhang rock outcrop geometry placed on top of heightfield · javascript · strict

    Started
    Aug 7, 2026, 7:17:49 PM UTC
    Ended
    Aug 7, 2026, 7:18:13 PM UTC
    Outcome
    Result returned
    Targets
    1

    Three.js Heightfield with Separate Overhanging Cliff Rock

    import * as THREE from 'three';
    import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9fc7e6);
    scene.fog = new THREE.Fog(0x9fc7e6, 35, 115);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 300);
    camera.position.set(24, 21, 30);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    renderer.shadowMap.type = THREE.PCFSoftShadowMap;
    document.body.appendChild(renderer.domElement);
    
    const controls = new OrbitControls(camera, renderer.domElement);
    controls.target.set(0, 4, 0);
    controls.enableDamping = true;
    
    scene.add(new THREE.HemisphereLight(0xbfe3ff, 0x493d32, 2.2));
    const sun = new THREE.DirectionalLight(0xffedcf, 3.5);
    sun.position.set(-25, 38, 20);
    sun.castShadow = true;
    sun.shadow.mapSize.set(2048, 2048);
    scene.add(sun);
    
    const WORLD_SIZE = 70;
    const GRID_SIZE = 180;
    const HALF_WORLD = WORLD_SIZE / 2;
    
    function heightAt(x, z) {
      const broad = 4.5 * Math.sin(x * 0.105) * Math.cos(z * 0.12);
      const ridges = 1.8 * Math.sin(x * 0.31 + z * 0.14);
      const detail = 0.55 * Math.sin(x * 0.77) * Math.sin(z * 0.61);
      const valley = -5.5 * Math.exp(-((x + 8) ** 2 / 180 + z ** 2 / 420));
      return 7 + broad + ridges + detail + valley;
    }
    
    // The terrain is a heightfield: every x/z location has exactly one y value.
    const terrainGeometry = new THREE.PlaneGeometry(
      WORLD_SIZE,
      WORLD_SIZE,
      GRID_SIZE,
      GRID_SIZE
    );
    terrainGeometry.rotateX(-Math.PI / 2);
    
    const terrainPositions = terrainGeometry.attributes.position;
    for (let i = 0; i < terrainPositions.count; i++) {
      const x = terrainPositions.getX(i);
      const z = terrainPositions.getZ(i);
      terrainPositions.setY(i, heightAt(x, z));
    }
    terrainPositions.needsUpdate = true;
    terrainGeometry.computeVertexNormals();
    
    const terrain = new THREE.Mesh(
      terrainGeometry,
      new THREE.MeshStandardMaterial({
        color: 0x63794d,
        roughness: 1,
        metalness: 0
      })
    );
    terrain.receiveShadow = true;
    scene.add(terrain);
    
    function makeCliffRock({ center, footprint, depth = 7, seed = 1 }) {
      // footprint points are local x/z coordinates around the rock center.
      // The upper ring follows the heightfield; the lower ring is pushed outward,
      // which creates a genuine overhang rather than another heightfield patch.
      const random = () => {
        const value = Math.sin(seed++ * 999.17) * 43758.5453;
        return value - Math.floor(value);
      };
    
      const topRing = footprint.map(([x, z]) => {
        const worldX = center.x + x;
        const worldZ = center.z + z;
        return new THREE.Vector3(worldX, heightAt(worldX, worldZ) + 0.18, worldZ);
      });
    
      const centroid = topRing.reduce(
        (sum, point) => sum.add(new THREE.Vector3(point.x, 0, point.z)),
        new THREE.Vector3()
      ).multiplyScalar(1 / topRing.length);
    
      const bottomRing = topRing.map((top, index) => {
        const radial = new THREE.Vector3(top.x - centroid.x, 0, top.z - centroid.z);
        radial.normalize();
    
        // Some faces project farther than others, making the silhouette irregular.
        const outward = 0.8 + random() * 1.8;
        return new THREE.Vector3(
          top.x + radial.x * outward,
          top.y - depth - random() * 2.2,
          top.z + radial.z * outward
        );
      });
    
      const vertices = [];
      const colors = [];
      const indices = [];
      const rockColor = new THREE.Color(0x66584b);
      const ledgeColor = new THREE.Color(0x85715d);
    
      function addVertex(point, color) {
        vertices.push(point.x, point.y, point.z);
        colors.push(color.r, color.g, color.b);
        return vertices.length / 3 - 1;
      }
    
      const topIndices = topRing.map((point) => addVertex(point, ledgeColor));
      const bottomIndices = bottomRing.map((point) => addVertex(point, rockColor));
    
      // Triangulated top cap, slightly above the terrain.
      for (let i = 1; i < topIndices.length - 1; i++) {
        indices.push(topIndices[0], topIndices[i], topIndices[i + 1]);
      }
    
      // Vertical/inward-facing side walls. These are separate from the terrain mesh.
      for (let i = 0; i < topIndices.length; i++) {
        const next = (i + 1) % topIndices.length;
        indices.push(
          topIndices[i], bottomIndices[i], bottomIndices[next],
          topIndices[i], bottomIndices[next], topIndices[next]
        );
      }
    
      // Add a smaller underside cap so the overhang remains visible from below.
      const undersideCenter = new THREE.Vector3(
        centroid.x,
        Math.min(...bottomRing.map((p) => p.y)) - 0.4,
        centroid.z
      );
      const undersideIndex = addVertex(undersideCenter, rockColor);
      for (let i = 0; i < bottomIndices.length; i++) {
        const next = (i + 1) % bottomIndices.length;
        indices.push(undersideIndex, bottomIndices[next], bottomIndices[i]);
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.Float32BufferAttribute(vertices, 3));
      geometry.setAttribute('color', new THREE.Float32BufferAttribute(colors, 3));
      geometry.setIndex(indices);
      geometry.computeVertexNormals();
    
      const material = new THREE.MeshStandardMaterial({
        vertexColors: true,
        roughness: 0.93,
        flatShading: true,
        side: THREE.DoubleSide
      });
    
      const rock = new THREE.Mesh(geometry, material);
      rock.castShadow = true;
      rock.receiveShadow = true;
      return rock;
    }
    
    const cliff = makeCliffRock({
      center: new THREE.Vector3(5, 0, -4),
      footprint: [
        [-7, -3], [-5, -6], [-1, -7], [4, -5], [7, -1],
        [6, 3], [3, 6], [-2, 5], [-6, 3]
      ],
      depth: 8,
      seed: 42
    });
    scene.add(cliff);
    
    // A few smaller outcrops use the same separate-mesh construction.
    scene.add(makeCliffRock({
      center: new THREE.Vector3(-14, 0, 9),
      footprint: [[-3, -2], [0, -3], [4, -1], [3, 2], [0, 3], [-3, 2]],
      depth: 3.5,
      seed: 7
    }));
    
    const ground = new THREE.Mesh(
      new THREE.PlaneGeometry(240, 240),
      new THREE.MeshStandardMaterial({ color: 0x29352a, roughness: 1 })
    );
    ground.rotation.x = -Math.PI / 2;
    ground.position.y = -5;
    ground.receiveShadow = true;
    scene.add(ground);
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    function animate() {
      controls.update();
      renderer.render(scene, camera);
    }
    renderer.setAnimationLoop(animate);
    
    References
    1
    1. Braffolk/fable5-world-demoSTATUS.md

      Only a project status entry mentioning three.js and a TERRAIN/heightfield term; no direct code/docs about heightmap + separate cliff mesh/overhang rock outcrop geometry placement.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js terrain heightmap with separate cliff mesh overhang rock outcrop geometry placed on top of heightfield",
      "language": "javascript",
      "license_mode": "strict"
    }
  416. 416
    +6:04:19Code ReadCode navigationthree153 msCompleted⌄
    Started
    Aug 7, 2026, 7:18:13 PM UTC
    Ended
    Aug 7, 2026, 7:18:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 200,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 68,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 200,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L133-L200",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 133
        }
      ],
      "start_line": 133,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 200,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 133,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 200,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 68,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 200,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L133-L200",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 133
          }
        ],
        "start_line": 133,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  417. 417
    +6:19:51Code ReadCode navigationthree186 msCompleted⌄
    Started
    Aug 7, 2026, 7:33:45 PM UTC
    Ended
    Aug 7, 2026, 7:33:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 175,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 81,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 175,
          "file_path": "src/objects/InstancedMesh.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L95-L175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 95
        }
      ],
      "start_line": 95,
      "status": "success",
      "total_lines": 411
    }
    Request⌄

    Request payload

    {
      "end_line": 175,
      "file_path": "src/objects/InstancedMesh.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 95,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 175,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 81,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 175,
            "file_path": "src/objects/InstancedMesh.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/InstancedMesh.js#L95-L175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 95
          }
        ],
        "start_line": 95,
        "status": "success",
        "total_lines": 411
      },
      "title": null,
      "content": null
    }
  418. 418
    +6:19:52Code ReadCode navigationthree230 msCompleted⌄
    Started
    Aug 7, 2026, 7:33:46 PM UTC
    Ended
    Aug 7, 2026, 7:33:46 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1400,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 101,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1400,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1300-L1400",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1300
        }
      ],
      "start_line": 1300,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 1400,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1300,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1400,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 101,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1400,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1300-L1400",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1300
          }
        ],
        "start_line": 1300,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  419. 419
    +6:19:56Code GrepCode navigationthree“toCreasedNormals”503 msCompleted⌄

    toCreasedNormals

    Started
    Aug 7, 2026, 7:33:51 PM UTC
    Ended
    Aug 7, 2026, 7:33:51 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html.md",
        "docs/search.json",
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 310,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L304-L310",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 304
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 310,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L304-L310",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 304
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 310,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L304-L310",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 304
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 159,
          "file_path": "docs/pages/module-BufferGeometryUtils.html.md",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html.md#L153-L159",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 153
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 23996,
          "file_path": "docs/search.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/search.json#L23990-L23996",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 23990
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1321,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1315-L1321",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1315
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1502,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1500-L1502",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1500
        }
      ],
      "returned_matches": 7,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 7,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 6,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "toCreasedNormals",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html.md",
          "docs/search.json",
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 310,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L304-L310",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 304
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 310,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L304-L310",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 304
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 310,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L304-L310",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 304
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 159,
            "file_path": "docs/pages/module-BufferGeometryUtils.html.md",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html.md#L153-L159",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 153
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 23996,
            "file_path": "docs/search.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/search.json#L23990-L23996",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 23990
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1321,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1315-L1321",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1315
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1502,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1500-L1502",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1500
          }
        ],
        "returned_matches": 7,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 7,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  420. 420
    +6:19:57Code GrepCode navigationthree“mergeGeometries”335 msCompleted⌄

    mergeGeometries

    Started
    Aug 7, 2026, 7:33:51 PM UTC
    Ended
    Aug 7, 2026, 7:33:52 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "docs/pages/global.html",
        "docs/pages/global.html.md",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html.md",
        "docs/search.json",
        "examples/jsm/generators/city/SkyscraperGenerator.js",
        "examples/jsm/generators/city/SkyscraperGenerator.js",
        "examples/jsm/generators/city/SkyscraperGenerator.js",
        "examples/jsm/helpers/TextureHelper.js",
        "examples/jsm/helpers/TextureHelper.js",
        "examples/jsm/helpers/TextureHelperGPU.js",
        "examples/jsm/helpers/TextureHelperGPU.js",
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js",
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 2207,
          "file_path": "docs/pages/global.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/global.html#L2203-L2207",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 2203
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1304,
          "file_path": "docs/pages/global.html.md",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/global.html.md#L1300-L1304",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1300
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 223,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L219-L223",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 219
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 223,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L219-L223",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 219
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 223,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L219-L223",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 219
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 111,
          "file_path": "docs/pages/module-BufferGeometryUtils.html.md",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html.md#L107-L111",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 107
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 23982,
          "file_path": "docs/search.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/search.json#L23978-L23982",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 23978
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 29,
          "file_path": "examples/jsm/generators/city/SkyscraperGenerator.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/generators/city/SkyscraperGenerator.js#L25-L29",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 25
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 59,
          "file_path": "examples/jsm/generators/city/SkyscraperGenerator.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/generators/city/SkyscraperGenerator.js#L55-L59",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 55
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 76,
          "file_path": "examples/jsm/generators/city/SkyscraperGenerator.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/generators/city/SkyscraperGenerator.js#L72-L76",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 72
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 14,
          "file_path": "examples/jsm/helpers/TextureHelper.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelper.js#L10-L14",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 10
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 265,
          "file_path": "examples/jsm/helpers/TextureHelper.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelper.js#L261-L265",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 261
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 15,
          "file_path": "examples/jsm/helpers/TextureHelperGPU.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelperGPU.js#L11-L15",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 11
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 214,
          "file_path": "examples/jsm/helpers/TextureHelperGPU.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelperGPU.js#L210-L214",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 210
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 137,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L133-L137",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 133
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 162,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L158-L162",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 158
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 173,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L169-L173",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 169
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 190,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L186-L190",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 186
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 199,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L195-L199",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 195
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 208,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L204-L208",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 204
        }
      ],
      "result_pointers_truncated": true,
      "returned_matches": 50,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 50,
      "unique_files_matched": 27
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 4,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "mergeGeometries",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    ResponseTruncated⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "docs/pages/global.html",
          "docs/pages/global.html.md",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html.md",
          "docs/search.json",
          "examples/jsm/generators/city/SkyscraperGenerator.js",
          "examples/jsm/generators/city/SkyscraperGenerator.js",
          "examples/jsm/generators/city/SkyscraperGenerator.js",
          "examples/jsm/helpers/TextureHelper.js",
          "examples/jsm/helpers/TextureHelper.js",
          "examples/jsm/helpers/TextureHelperGPU.js",
          "examples/jsm/helpers/TextureHelperGPU.js",
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js",
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 2207,
            "file_path": "docs/pages/global.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/global.html#L2203-L2207",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 2203
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1304,
            "file_path": "docs/pages/global.html.md",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/global.html.md#L1300-L1304",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1300
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 223,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L219-L223",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 219
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 223,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L219-L223",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 219
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 223,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L219-L223",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 219
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 111,
            "file_path": "docs/pages/module-BufferGeometryUtils.html.md",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html.md#L107-L111",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 107
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 23982,
            "file_path": "docs/search.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/search.json#L23978-L23982",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 23978
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 29,
            "file_path": "examples/jsm/generators/city/SkyscraperGenerator.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/generators/city/SkyscraperGenerator.js#L25-L29",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 25
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 59,
            "file_path": "examples/jsm/generators/city/SkyscraperGenerator.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/generators/city/SkyscraperGenerator.js#L55-L59",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 55
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 76,
            "file_path": "examples/jsm/generators/city/SkyscraperGenerator.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/generators/city/SkyscraperGenerator.js#L72-L76",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 72
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 14,
            "file_path": "examples/jsm/helpers/TextureHelper.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelper.js#L10-L14",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 10
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 265,
            "file_path": "examples/jsm/helpers/TextureHelper.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelper.js#L261-L265",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 261
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 15,
            "file_path": "examples/jsm/helpers/TextureHelperGPU.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelperGPU.js#L11-L15",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 11
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 214,
            "file_path": "examples/jsm/helpers/TextureHelperGPU.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/helpers/TextureHelperGPU.js#L210-L214",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 210
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 137,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L133-L137",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 133
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 162,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L158-L162",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 158
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 173,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L169-L173",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 169
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 190,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L186-L190",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 186
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 199,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L195-L199",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 195
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 208,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L204-L208",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 204
          }
        ],
        "result_pointers_truncated": true,
        "returned_matches": 50,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 50,
        "unique_files_matched": 27
      },
      "title": null,
      "content": null
    }

    This shared record contains a truncated response.

  421. 421
    +6:20:02Code ReadCode navigationthree177 msCompleted⌄
    Started
    Aug 7, 2026, 7:33:57 PM UTC
    Ended
    Aug 7, 2026, 7:33:57 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1420,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 111,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1420,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1310-L1420",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1310
        }
      ],
      "start_line": 1310,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 1420,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1310,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1420,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 111,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1420,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1310-L1420",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1310
          }
        ],
        "start_line": 1310,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  422. 422
    +6:20:03Code GrepCode navigationthree-mesh-bvh“class MeshBVH”681 msCompleted⌄

    class MeshBVH

    Started
    Aug 7, 2026, 7:33:58 PM UTC
    Ended
    Aug 7, 2026, 7:33:59 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three-mesh-bvh@0.9.14

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/MeshBVH.js",
        "src/index.d.ts",
        "src/index.d.ts",
        "src/index.d.ts",
        "src/objects/BVHHelper.js",
        "src/webgl/MeshBVHUniformStruct.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 104,
          "file_path": "src/core/MeshBVH.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L94-L104",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 94
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 145,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L135-L145",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 135
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 319,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L309-L319",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 309
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 412,
          "file_path": "src/index.d.ts",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L402-L412",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 402
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 534,
          "file_path": "src/objects/BVHHelper.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/objects/BVHHelper.js#L524-L534",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 524
        },
        {
          "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
          "end_line": 43,
          "file_path": "src/webgl/MeshBVHUniformStruct.js",
          "kind": "code",
          "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/webgl/MeshBVHUniformStruct.js#L33-L43",
          "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
          "start_line": 33
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 0,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three-mesh-bvh",
      "pattern": "class MeshBVH",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.9.14",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/MeshBVH.js",
          "src/index.d.ts",
          "src/index.d.ts",
          "src/index.d.ts",
          "src/objects/BVHHelper.js",
          "src/webgl/MeshBVHUniformStruct.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 104,
            "file_path": "src/core/MeshBVH.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/core/MeshBVH.js#L94-L104",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 94
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 145,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L135-L145",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 135
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 319,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L309-L319",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 309
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 412,
            "file_path": "src/index.d.ts",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/index.d.ts#L402-L412",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 402
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 534,
            "file_path": "src/objects/BVHHelper.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/objects/BVHHelper.js#L524-L534",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 524
          },
          {
            "commit_sha": "75a7046260e2bfb3bc158d8c7759f581bc1fea9d",
            "end_line": 43,
            "file_path": "src/webgl/MeshBVHUniformStruct.js",
            "kind": "code",
            "permalink": "https://github.com/gkjohnson/three-mesh-bvh/blob/75a7046260e2bfb3bc158d8c7759f581bc1fea9d/src/webgl/MeshBVHUniformStruct.js#L33-L43",
            "repo_url": "https://github.com/gkjohnson/three-mesh-bvh",
            "start_line": 33
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  423. 423
    +6:20:05Code ReadCode navigationthree122 msCompleted⌄
    Started
    Aug 7, 2026, 7:34:00 PM UTC
    Ended
    Aug 7, 2026, 7:34:00 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 150,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 41,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 150,
          "file_path": "src/objects/LOD.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/LOD.js#L110-L150",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 110
        }
      ],
      "start_line": 110,
      "status": "success",
      "total_lines": 329
    }
    Request⌄

    Request payload

    {
      "end_line": 150,
      "file_path": "src/objects/LOD.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 110,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 150,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 41,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 150,
            "file_path": "src/objects/LOD.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/objects/LOD.js#L110-L150",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 110
          }
        ],
        "start_line": 110,
        "status": "success",
        "total_lines": 329
      },
      "title": null,
      "content": null
    }
  424. 424
    +6:20:10Code ReadCode navigationthree42 msCompleted⌄
    Started
    Aug 7, 2026, 7:34:05 PM UTC
    Ended
    Aug 7, 2026, 7:34:05 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 200,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 76,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 200,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L125-L200",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 125
        }
      ],
      "start_line": 125,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 200,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 125,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 200,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 76,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 200,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L125-L200",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 125
          }
        ],
        "start_line": 125,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  425. 425
    +6:20:11Get ExampleGenerated examplethree.js procedural low poly palm tree fronds leaflets merged BufferGeometry instanced3 sources33 sCompleted⌄

    three.js procedural low poly palm tree fronds leaflets merged BufferGeometry instanced · javascript · strict

    Started
    Aug 7, 2026, 7:34:06 PM UTC
    Ended
    Aug 7, 2026, 7:34:39 PM UTC
    Outcome
    Result returned
    Targets
    3

    Procedural Low-Poly Palm Fronds with Merged Leaflets and Instancing

    import * as THREE from 'three';
    import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9ed8ef);
    
    const camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.1, 300);
    camera.position.set(12, 9, 15);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.appendChild(renderer.domElement);
    
    new OrbitControls(camera, renderer.domElement).target.set(0, 4, 0);
    scene.add(new THREE.HemisphereLight(0xcceeff, 0x60452f, 2.2));
    
    const sun = new THREE.DirectionalLight(0xffffff, 3);
    sun.position.set(8, 16, 10);
    sun.castShadow = true;
    scene.add(sun);
    
    const trunkHeight = 5;
    const frondCount = 10;
    const palmCount = 80;
    
    // Creates one frond mesh containing every leaflet as one merged BufferGeometry.
    function createMergedFrondGeometry({ leafletCount = 18, length = 4.8 } = {}) {
      const positions = [];
      const normals = [];
      const uvs = [];
      const indices = [];
    
      const addLeaflet = (side, t, index) => {
        const z = t * length;
        const leafletLength = (1 - t) * 1.8 + 0.35;
        const width = 0.11 * (1 - t * 0.55);
    
        // Leaflets alternate slightly along the rachis and point outward.
        const base = new THREE.Vector3(side * 0.06, 0, z);
        const tip = new THREE.Vector3(
          side * (0.25 + leafletLength),
          0.10 + t * 0.22,
          z + leafletLength * 0.22,
        );
    
        const direction = tip.clone().sub(base).normalize();
        const sideAxis = new THREE.Vector3(0, 1, 0)
          .cross(direction)
          .normalize()
          .multiplyScalar(width);
    
        const quad = [
          base.clone().sub(sideAxis),
          base.clone().add(sideAxis),
          tip.clone().add(sideAxis.multiplyScalar(0.25)),
          tip.clone().sub(sideAxis.multiplyScalar(0.25)),
        ];
    
        const normal = quad[1].clone().sub(quad[0])
          .cross(quad[3].clone().sub(quad[0]))
          .normalize();
    
        const vertexStart = positions.length / 3;
        for (const vertex of quad) {
          positions.push(vertex.x, vertex.y, vertex.z);
          normals.push(normal.x, normal.y, normal.z);
        }
    
        uvs.push(0, 0, 1, 0, 1, 1, 0, 1);
        indices.push(
          vertexStart, vertexStart + 1, vertexStart + 2,
          vertexStart, vertexStart + 2, vertexStart + 3,
        );
      };
    
      for (let i = 0; i < leafletCount; i++) {
        const t = i / (leafletCount - 1);
        addLeaflet(i % 2 === 0 ? 1 : -1, t, i);
      }
    
      // The central rachis is also part of the merged frond geometry.
      const rachis = new THREE.CylinderGeometry(0.045, 0.09, length, 5, 1, false);
      rachis.rotateX(Math.PI / 2);
      rachis.translate(0, 0, length / 2);
    
      const rachisPosition = rachis.getAttribute('position');
      const rachisNormal = rachis.getAttribute('normal');
      const rachisUv = rachis.getAttribute('uv');
      const offset = positions.length / 3;
    
      for (let i = 0; i < rachisPosition.count; i++) {
        positions.push(
          rachisPosition.getX(i),
          rachisPosition.getY(i),
          rachisPosition.getZ(i),
        );
        normals.push(
          rachisNormal.getX(i),
          rachisNormal.getY(i),
          rachisNormal.getZ(i),
        );
        uvs.push(rachisUv.getX(i), rachisUv.getY(i));
      }
    
      for (let i = 0; i < rachis.index.count; i++) {
        indices.push(rachis.index.getX(i) + offset);
      }
    
      rachis.dispose();
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3));
      geometry.setAttribute('normal', new THREE.Float32BufferAttribute(normals, 3));
      geometry.setAttribute('uv', new THREE.Float32BufferAttribute(uvs, 2));
      geometry.setIndex(indices);
      geometry.computeBoundingSphere();
      return geometry;
    }
    
    const frondGeometry = createMergedFrondGeometry();
    const frondMaterial = new THREE.MeshStandardMaterial({
      color: 0x3f8f42,
      roughness: 0.9,
      side: THREE.DoubleSide,
      flatShading: true,
    });
    
    const trunkGeometry = new THREE.CylinderGeometry(0.28, 0.48, trunkHeight, 7);
    const trunkMaterial = new THREE.MeshStandardMaterial({
      color: 0x80512e,
      roughness: 1,
      flatShading: true,
    });
    
    // One instanced trunk and one instanced merged-frond mesh draw the whole grove.
    const trunks = new THREE.InstancedMesh(trunkGeometry, trunkMaterial, palmCount);
    const fronds = new THREE.InstancedMesh(
      frondGeometry,
      frondMaterial,
      palmCount * frondCount,
    );
    trunks.castShadow = trunks.receiveShadow = true;
    fronds.castShadow = true;
    
    const palmMatrix = new THREE.Object3D();
    const frondMatrix = new THREE.Object3D();
    let frondInstance = 0;
    
    for (let palm = 0; palm < palmCount; palm++) {
      const angle = palm * 2.399963 + Math.random() * 0.3;
      const radius = Math.sqrt(palm / palmCount) * 24;
      const x = Math.cos(angle) * radius;
      const z = Math.sin(angle) * radius;
      const scale = 0.75 + Math.random() * 0.55;
    
      palmMatrix.position.set(x, trunkHeight / 2 * scale, z);
      palmMatrix.scale.setScalar(scale);
      palmMatrix.rotation.set(0, Math.random() * Math.PI, 0);
      palmMatrix.updateMatrix();
      trunks.setMatrixAt(palm, palmMatrix.matrix);
    
      for (let i = 0; i < frondCount; i++) {
        const radialAngle = (i / frondCount) * Math.PI * 2 + Math.random() * 0.18;
        const droop = 0.22 + Math.random() * 0.22;
    
        frondMatrix.position.set(x, trunkHeight * scale, z);
        frondMatrix.rotation.set(droop, radialAngle, 0);
        frondMatrix.scale.setScalar(scale * (0.9 + Math.random() * 0.18));
        frondMatrix.updateMatrix();
        fronds.setMatrixAt(frondInstance++, frondMatrix.matrix);
      }
    }
    
    trunks.instanceMatrix.needsUpdate = true;
    fronds.instanceMatrix.needsUpdate = true;
    scene.add(trunks, fronds);
    
    const ground = new THREE.Mesh(
      new THREE.CircleGeometry(45, 48),
      new THREE.MeshStandardMaterial({ color: 0xc7ae72, roughness: 1 }),
    );
    ground.rotation.x = -Math.PI / 2;
    ground.receiveShadow = true;
    scene.add(ground);
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    renderer.setAnimationLoop(() => {
      renderer.render(scene, camera);
    });
    
    References
    3
    1. SkyeShark/SeedThreesrc/main.js

      Provides a substantial Three.js (WebGPU) procedural plant/tree generator in JavaScript, including foliage/low-detail card-based approaches that can inform fronds/leaflets generation and GPU-friendly optimization. However, it is not a direct match to the specific “low poly palm tree fronds/leaflets merged BufferGeometry + InstancedMesh” combination, and the snippet focuses more on biome/tree rebuilding than on explicit merged BufferGeometry or InstancedMesh usage for palm fronds.

      codeMIT
    2. call-me-sensei/toonlabsrc/vegetation/stylizedTreeFoliage.js

      Implements procedural three.js foliage with frond/leaflet-style card generation and produces a merged BufferGeometry (quad-soup canopy); does not directly cover InstancedMesh usage specifically for palm fronds.

      codeMIT
    3. Drommedhar/novalist-officialapp/src/renderer/public/map/map3d.js

      Contains three.js procedural low-poly foliage/tree generation (including InstancedMesh-style pooling/geometry construction), which is relevant to building palm-like fronds/leaflets, but it’s not specifically a palm tree implementation or explicit frond/leaflet mesh merging workflow.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js procedural low poly palm tree fronds leaflets merged BufferGeometry instanced",
      "language": "javascript",
      "license_mode": "strict"
    }
  426. 426
    +6:20:17Code ReadCode navigationthree344 msCompleted⌄
    Started
    Aug 7, 2026, 7:34:12 PM UTC
    Ended
    Aug 7, 2026, 7:34:12 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1500,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 81,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1500,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1420-L1500",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1420
        }
      ],
      "start_line": 1420,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 1500,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1420,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1500,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 81,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1500,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1420-L1500",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1420
          }
        ],
        "start_line": 1420,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  427. 427
    +6:20:18Get ExampleGenerated examplethree.js procedural stylized cliff geometry with strata bands and rock ledges built from BufferGeometry rings2 sources31 sCompleted⌄

    three.js procedural stylized cliff geometry with strata bands and rock ledges built from BufferGeometry rings · javascript · strict

    Started
    Aug 7, 2026, 7:34:13 PM UTC
    Ended
    Aug 7, 2026, 7:34:44 PM UTC
    Outcome
    Result returned
    Targets
    2

    Three.js Procedural Stylized Cliff with Strata Rings and Rock Ledges

    import * as THREE from 'three';
    
    // A stylized cliff is represented by several irregular horizontal rings.
    // Radius changes between rings create strata steps and overhanging ledges.
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9fc8dc);
    scene.fog = new THREE.Fog(0x9fc8dc, 35, 110);
    
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 250);
    camera.position.set(28, 18, 32);
    camera.lookAt(0, 9, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xd9f1ff, 0x44352e, 2.0));
    const sun = new THREE.DirectionalLight(0xffe7c2, 3.2);
    sun.position.set(-25, 45, 20);
    sun.castShadow = true;
    sun.shadow.mapSize.set(2048, 2048);
    scene.add(sun);
    
    const TAU = Math.PI * 2;
    const SEGMENTS = 48;
    const rng = mulberry32(0xdecafbad);
    
    function mulberry32(seed) {
      return () => {
        seed |= 0;
        seed = seed + 0x6d2b79f5 | 0;
        let t = Math.imul(seed ^ seed >>> 15, 1 | seed);
        t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
        return ((t ^ t >>> 14) >>> 0) / 4294967296;
      };
    }
    
    function material(color, roughness = 1) {
      return new THREE.MeshStandardMaterial({
        color,
        roughness,
        metalness: 0,
        flatShading: true
      });
    }
    
    // Create one irregular horizontal BufferGeometry ring.
    function makeRing({ y, rx, rz, phase = 0, noise = 0.08 }) {
      const ring = [];
    
      for (let i = 0; i < SEGMENTS; i++) {
        const a = i / SEGMENTS * TAU;
        const n = 1 + (rng() - 0.5) * noise;
        const waviness = 1 + Math.sin(a * 3 + phase) * 0.035;
    
        ring.push({
          x: Math.cos(a) * rx * n * waviness,
          y,
          z: Math.sin(a) * rz * n * waviness,
          angle: a
        });
      }
    
      return ring;
    }
    
    // Connect two rings into a triangulated BufferGeometry band.
    function connectRings(lower, upper) {
      const positions = [];
      const indices = [];
    
      for (const p of lower) positions.push(p.x, p.y, p.z);
      for (const p of upper) positions.push(p.x, p.y, p.z);
    
      for (let i = 0; i < SEGMENTS; i++) {
        const next = (i + 1) % SEGMENTS;
        const a = i;
        const b = next;
        const c = SEGMENTS + next;
        const d = SEGMENTS + i;
    
        // Alternating diagonal directions avoid a repetitive visual pattern.
        if (i % 2) indices.push(a, b, d, b, c, d);
        else indices.push(a, b, c, a, c, d);
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute(
        'position',
        new THREE.Float32BufferAttribute(positions, 3)
      );
      geometry.setIndex(indices);
      geometry.computeVertexNormals();
      return geometry;
    }
    
    function addBand(lower, upper, color) {
      const mesh = new THREE.Mesh(connectRings(lower, upper), material(color));
      mesh.castShadow = true;
      mesh.receiveShadow = true;
      scene.add(mesh);
      return mesh;
    }
    
    function addRingCap(ring, color, top = true) {
      const positions = [0, ring[0].y, 0];
      const indices = [];
    
      for (const p of ring) positions.push(p.x, p.y, p.z);
    
      for (let i = 0; i < SEGMENTS; i++) {
        const a = 1 + i;
        const b = 1 + ((i + 1) % SEGMENTS);
        indices.push(top ? [0, a, b] : [0, b, a]);
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3));
      geometry.setIndex(indices.flat());
      geometry.computeVertexNormals();
    
      const mesh = new THREE.Mesh(geometry, material(color));
      mesh.castShadow = true;
      mesh.receiveShadow = true;
      scene.add(mesh);
    }
    
    const strata = [
      0x594238,
      0x765444,
      0x8f674c,
      0xa77b55,
      0x6c4c3d,
      0xb18a61,
      0x80604b,
      0xc29a6b
    ];
    
    // Profile order is bottom-to-top. Repeated height transitions form thin ledges.
    const profile = [
      { y: 0.0,  rx: 16.0, rz: 10.5 },
      { y: 1.7, rx: 15.5, rz: 10.0 },
      { y: 2.0, rx: 16.8, rz: 10.9 }, // outward rock shelf
      { y: 4.2, rx: 14.0, rz: 9.0 },
      { y: 4.5, rx: 15.1, rz: 9.8 },  // second shelf
      { y: 7.5, rx: 12.2, rz: 7.8 },
      { y: 7.8, rx: 13.4, rz: 8.7 },  // third shelf
      { y: 11.0, rx: 10.1, rz: 6.4 },
      { y: 11.35, rx: 11.0, rz: 7.1 }, // upper ledge
      { y: 14.0, rx: 8.0, rz: 5.2 },
      { y: 14.3, rx: 8.7, rz: 5.8 },
      { y: 16.8, rx: 6.5, rz: 4.2 }
    ];
    
    const rings = profile.map((p, i) => makeRing({
      ...p,
      phase: i * 0.71,
      noise: i % 2 ? 0.12 : 0.07
    }));
    
    for (let i = 0; i < rings.length - 1; i++) {
      addBand(rings[i], rings[i + 1], strata[i % strata.length]);
    }
    
    addRingCap(rings[0], 0x49372f, false);
    addRingCap(rings.at(-1), 0xb38a61, true);
    
    // Add small angular stones beneath ledges. Their positions use the same ring logic.
    function addLedgeDebris(ring, count, radiusOffset) {
      const rockMaterial = material(0x5b4539);
    
      for (let i = 0; i < count; i++) {
        const p = ring[Math.floor(rng() * ring.length)];
        const angle = p.angle + (rng() - 0.5) * 0.16;
        const radius = radiusOffset + (rng() - 0.5) * 1.0;
        const rock = new THREE.Mesh(
          new THREE.DodecahedronGeometry(0.45 + rng() * 0.55, 0),
          rockMaterial
        );
    
        rock.position.set(
          Math.cos(angle) * radius,
          p.y + 0.12 + rng() * 0.5,
          Math.sin(angle) * radius
        );
        rock.scale.set(1.3, 0.55 + rng() * 0.5, 0.8);
        rock.rotation.set(rng() * 2, rng() * TAU, rng() * 2);
        rock.castShadow = true;
        rock.receiveShadow = true;
        scene.add(rock);
      }
    }
    
    for (const index of [1, 3, 5, 7, 9]) {
      addLedgeDebris(rings[index], 10, profile[index].rx + 0.7);
    }
    
    // Flat ground plane for contact shadows.
    const ground = new THREE.Mesh(
      new THREE.CircleGeometry(42, 64),
      material(0x34463b)
    );
    ground.rotation.x = -Math.PI / 2;
    ground.position.y = -0.05;
    ground.receiveShadow = true;
    scene.add(ground);
    
    // Simple orbit animation keeps the procedural silhouette visible.
    let time = 0;
    function animate() {
      requestAnimationFrame(animate);
      time += 0.0025;
      camera.position.x = Math.cos(time) * 31;
      camera.position.z = Math.sin(time) * 31;
      camera.lookAt(0, 8, 0);
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    2
    1. majidmanzarpour/threejs-procedural-dungeonsrc/main.js

      JavaScript Three.js procedural generator that includes “ring” primitives and custom geometry/tiling, but it’s for dungeons rather than stylized cliff strata/ledge banding with BufferGeometry rings; useful as a reference for ring-based procedural layout/instancing patterns.

      codeMIT
    2. ocftw/ssddocs/games/main.js

      Contains Three.js procedural geometry construction with BufferGeometry/mergeGeometries and uses ring/Geometry-related primitives, but it’s not specifically about procedural cliff strata ledges or BufferGeometry ring-based strata bands as requested.

      codeCC-BY-4.0
    Request⌄

    Request payload

    {
      "query": "three.js procedural stylized cliff geometry with strata bands and rock ledges built from BufferGeometry rings",
      "language": "javascript",
      "license_mode": "strict"
    }
  428. 428
    +6:21:36Get ExampleGenerated examplethree.js procedural rock boulder geometry stratified layers hard edges vertex colors low poly5 sources25 sCompleted⌄

    three.js procedural rock boulder geometry stratified layers hard edges vertex colors low poly · javascript · strict

    Started
    Aug 7, 2026, 7:35:31 PM UTC
    Ended
    Aug 7, 2026, 7:35:55 PM UTC
    Outcome
    Result returned
    Targets
    5

    Three.js Low-Poly Stratified Boulder with Vertex Colors

    import * as THREE from 'three';
    
    // Seeded randomness keeps the boulder reproducible.
    function mulberry32(seed) {
      return () => {
        seed |= 0;
        seed = (seed + 0x6d2b79f5) | 0;
        let t = Math.imul(seed ^ (seed >>> 15), 1 | seed);
        t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
        return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
      };
    }
    
    function makeStratifiedBoulder({
      seed = 42,
      sides = 11,
      layers = 7,
      height = 3.2,
      radius = 2.2,
    } = {}) {
      const random = mulberry32(seed);
      const positions = [];
      const colors = [];
    
      const palette = [
        new THREE.Color('#5b5148'),
        new THREE.Color('#75695b'),
        new THREE.Color('#8f806c'),
        new THREE.Color('#6b6258'),
        new THREE.Color('#a08e73'),
      ];
    
      const ringAngles = Array.from({ length: sides }, (_, i) =>
        (i / sides) * Math.PI * 2 + (random() - 0.5) * 0.18
      );
    
      const rings = [];
      for (let layer = 0; layer <= layers; layer++) {
        const t = layer / layers;
        const y = -height / 2 + t * height;
    
        // Bulging middle and tapered top/bottom create an irregular boulder silhouette.
        const silhouette = Math.sin(Math.PI * t) ** 0.55;
        const taper = 0.68 + silhouette * 0.42;
        const ring = [];
    
        for (let i = 0; i < sides; i++) {
          const angle = ringAngles[i];
          const noise = 0.84 + random() * 0.30;
          const radial = radius * taper * noise;
          ring.push(new THREE.Vector3(
            Math.cos(angle) * radial,
            y + (random() - 0.5) * height * 0.045,
            Math.sin(angle) * radial
          ));
        }
        rings.push(ring);
      }
    
      function addTriangle(a, b, c, color) {
        for (const vertex of [a, b, c]) {
          positions.push(vertex.x, vertex.y, vertex.z);
          colors.push(color.r, color.g, color.b);
        }
      }
    
      // Stratified side faces. Each layer receives a separate rock color band.
      for (let layer = 0; layer < layers; layer++) {
        const baseColor = palette[layer % palette.length].clone();
        baseColor.offsetHSL(0, 0, (random() - 0.5) * 0.08);
    
        for (let i = 0; i < sides; i++) {
          const next = (i + 1) % sides;
          const a = rings[layer][i];
          const b = rings[layer][next];
          const c = rings[layer + 1][next];
          const d = rings[layer + 1][i];
    
          // Alternating diagonals avoid a perfectly repetitive triangulation pattern.
          if ((i + layer) % 2 === 0) {
            addTriangle(a, b, d, baseColor);
            addTriangle(b, c, d, baseColor);
          } else {
            addTriangle(a, b, c, baseColor);
            addTriangle(a, c, d, baseColor);
          }
        }
      }
    
      // Bottom cap.
      const bottomCenter = new THREE.Vector3(0, -height / 2, 0);
      for (let i = 0; i < sides; i++) {
        addTriangle(
          bottomCenter,
          rings[0][(i + 1) % sides],
          rings[0][i],
          palette[0]
        );
      }
    
      // Top cap, slightly lighter to emphasize the horizontal strata.
      const topCenter = new THREE.Vector3(0, height / 2, 0);
      const topColor = palette[2].clone().offsetHSL(0, 0, 0.08);
      for (let i = 0; i < sides; i++) {
        addTriangle(
          topCenter,
          rings[layers][i],
          rings[layers][(i + 1) % sides],
          topColor
        );
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute(
        'position',
        new THREE.Float32BufferAttribute(positions, 3)
      );
      geometry.setAttribute(
        'color',
        new THREE.Float32BufferAttribute(colors, 3)
      );
      geometry.computeVertexNormals();
    
      const material = new THREE.MeshStandardMaterial({
        vertexColors: true,
        flatShading: true,
        roughness: 0.94,
        metalness: 0,
      });
    
      const mesh = new THREE.Mesh(geometry, material);
      mesh.castShadow = true;
      mesh.receiveShadow = true;
      return mesh;
    }
    
    // Minimal scene setup.
    const scene = new THREE.Scene();
    scene.background = new THREE.Color('#b9c5c1');
    
    const camera = new THREE.PerspectiveCamera(
      45,
      window.innerWidth / window.innerHeight,
      0.1,
      100
    );
    camera.position.set(6, 4.5, 7);
    camera.lookAt(0, 0, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight('#dbe9e5', '#51483f', 2.2));
    
    const keyLight = new THREE.DirectionalLight('#fff1d2', 4);
    keyLight.position.set(5, 8, 4);
    keyLight.castShadow = true;
    scene.add(keyLight);
    
    const boulder = makeStratifiedBoulder({
      seed: 1337,
      sides: 12,
      layers: 8,
      height: 3.8,
      radius: 2.4,
    });
    scene.add(boulder);
    
    const ground = new THREE.Mesh(
      new THREE.CircleGeometry(12, 32),
      new THREE.MeshStandardMaterial({ color: '#514b43', roughness: 1 })
    );
    ground.rotation.x = -Math.PI / 2;
    ground.position.y = -1.95;
    ground.receiveShadow = true;
    scene.add(ground);
    
    function animate() {
      requestAnimationFrame(animate);
      boulder.rotation.y += 0.002;
      renderer.render(scene, camera);
    }
    animate();
    
    window.addEventListener('resize', () => {
      camera.aspect = window.innerWidth / window.innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(window.innerWidth, window.innerHeight);
    });
    
    References
    5
    1. kaolti/monolith-terrainsrc/terrain.js

      Strong three.js procedural terrain implementation that uses BufferGeometry vertex coloring (via a per-vertex 'color' attribute with MeshStandardMaterial vertexColors), hard-edged stylization can be derived from the height/slope logic, and it includes shader customization for flat-like contour bands. However it focuses on “terrain” rather than explicit “rock boulder” low-poly stratified hard-edge generation, so it’s an adaptable partial match.

      codeMIT
    2. w3reality/three-laser-pointerexamples/demo-terrains/src/three-terrain.js

      Provides a JavaScript/three.js procedural terrain generation module (THREE.Terrain) with BufferGeometry compatibility and heightmap-based vertex updates, which is relevant to procedural rock/low-poly geometry generation and stratified hard-edged appearance; it does not directly implement vertex colors or explicit boulder/stratified flat layers, so it’s only a partial match.

      codeMIT
    3. crunchybananas/shipyard-microtoolsdocs/the-island/js/assets.js

      Contains three.js code for texture/normal handling and explicitly references flatShading and vertex color interactions, but it’s not focused on procedural low-poly rock geometry, stratified layers, or vertex-colored boulders; useful only as partial implementation context (not a direct match).

      codeMIT
    4. jimmyorr/chill-flightterrain.js

      Contains Three.js procedural terrain with `flatShading: true` and `vertexColors: true`, plus explicitly hard-edged low-poly style rock geometry (`DodecahedronGeometry(..., 0)`), but it’s not specifically “stratified layers” rock/boulder-focused beyond general terrain/chunk generation context.

      codeMIT
    5. craftmygame/little-citylittle-taipei/main.js

      Uses Three.js to generate procedural, low-poly style geometry with flat/cel shading concepts and explicit per-vertex color attributes (including flatShading/vertexColors patterns), which is relevant to vertex-colored hard-edged look; however it’s mainly a procedural terrain/city world rather than specifically procedural rock/boulder layering.

      codeApache-2.0
    Request⌄

    Request payload

    {
      "query": "three.js procedural rock boulder geometry stratified layers hard edges vertex colors low poly",
      "language": "javascript",
      "license_mode": "strict"
    }
  429. 429
    +6:22:16Code ReadCode navigationthree101 msCompleted⌄
    Started
    Aug 7, 2026, 7:36:11 PM UTC
    Ended
    Aug 7, 2026, 7:36:11 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1501,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 42,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1501,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1460-L1501",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1460
        }
      ],
      "start_line": 1460,
      "status": "success",
      "total_lines": 1501
    }
    Request⌄

    Request payload

    {
      "end_line": 1501,
      "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1460,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1501,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 42,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1501,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1460-L1501",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1460
          }
        ],
        "start_line": 1460,
        "status": "success",
        "total_lines": 1501
      },
      "title": null,
      "content": null
    }
  430. 430
    +6:38:39Code GrepCode navigationthree“export function toCreasedNormals”202 msNo result⌄

    export function toCreasedNormals

    Started
    Aug 7, 2026, 7:52:33 PM UTC
    Ended
    Aug 7, 2026, 7:52:33 PM UTC
    Outcome
    Empty result
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "next_cursor_present": false,
      "outcome": "empty_result",
      "returned_matches": 0,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 0,
      "unique_files_matched": 0
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "examples/jsm/utils/BufferGeometryUtils.js"
        }
      ],
      "pattern": "export function toCreasedNormals",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "next_cursor_present": false,
        "outcome": "empty_result",
        "returned_matches": 0,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 0,
        "unique_files_matched": 0
      },
      "title": null,
      "content": null
    }
  431. 431
    +6:38:44Code GrepCode navigationthree“toCreasedNormals”179 msCompleted⌄

    toCreasedNormals

    Started
    Aug 7, 2026, 7:52:38 PM UTC
    Ended
    Aug 7, 2026, 7:52:38 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html",
        "docs/pages/module-BufferGeometryUtils.html.md",
        "docs/search.json",
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": true,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 312,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L298-L312",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 298
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 312,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L298-L312",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 298
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 312,
          "file_path": "docs/pages/module-BufferGeometryUtils.html",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L298-L312",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 298
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 161,
          "file_path": "docs/pages/module-BufferGeometryUtils.html.md",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html.md#L147-L161",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 147
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 23998,
          "file_path": "docs/search.json",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/search.json#L23984-L23998",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 23984
        },
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1323,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1309-L1323",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1309
        }
      ],
      "returned_matches": 6,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 6,
      "unique_files_matched": 4
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 6,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 6,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "toCreasedNormals",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html",
          "docs/pages/module-BufferGeometryUtils.html.md",
          "docs/search.json",
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": true,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 312,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L298-L312",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 298
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 312,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L298-L312",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 298
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 312,
            "file_path": "docs/pages/module-BufferGeometryUtils.html",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html#L298-L312",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 298
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 161,
            "file_path": "docs/pages/module-BufferGeometryUtils.html.md",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/pages/module-BufferGeometryUtils.html.md#L147-L161",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 147
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 23998,
            "file_path": "docs/search.json",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/docs/search.json#L23984-L23998",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 23984
          },
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1323,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1309-L1323",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1309
          }
        ],
        "returned_matches": 6,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 6,
        "unique_files_matched": 4
      },
      "title": null,
      "content": null
    }
  432. 432
    +6:38:44Code GrepCode navigationthree“function toCreasedNormals”53 msCompleted⌄

    function toCreasedNormals

    Started
    Aug 7, 2026, 7:52:39 PM UTC
    Ended
    Aug 7, 2026, 7:52:39 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1325,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1305-L1325",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1305
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": true,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "pattern": "function toCreasedNormals",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1325,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L1305-L1325",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1305
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  433. 433
    +6:38:45Code ReadCode navigationthree313 msCompleted⌄
    Started
    Aug 7, 2026, 7:52:40 PM UTC
    Ended
    Aug 7, 2026, 7:52:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 115,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 86,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 115,
          "file_path": "src/geometries/PolyhedronGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L30-L115",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 30
        }
      ],
      "start_line": 30,
      "status": "success",
      "total_lines": 348
    }
    Request⌄

    Request payload

    {
      "end_line": 115,
      "file_path": "src/geometries/PolyhedronGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 30,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 115,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 86,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 115,
            "file_path": "src/geometries/PolyhedronGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/PolyhedronGeometry.js#L30-L115",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 30
          }
        ],
        "start_line": 30,
        "status": "success",
        "total_lines": 348
      },
      "title": null,
      "content": null
    }
  434. 434
    +6:38:45Code GrepCode navigationthree“function mergeGeometries”101 msCompleted⌄

    function mergeGeometries

    Started
    Aug 7, 2026, 7:52:40 PM UTC
    Ended
    Aug 7, 2026, 7:52:40 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "examples/jsm/utils/BufferGeometryUtils.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 143,
          "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L123-L143",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 123
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 10,
      "context_lines_before": 10,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "examples/jsm/utils/BufferGeometryUtils.js"
        }
      ],
      "pattern": "function mergeGeometries",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "examples/jsm/utils/BufferGeometryUtils.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 143,
            "file_path": "examples/jsm/utils/BufferGeometryUtils.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/examples/jsm/utils/BufferGeometryUtils.js#L123-L143",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 123
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  435. 435
    +6:38:55Get ExampleGenerated examplestylized low poly wooden sailing boat procedural geometry three.js hull planks mast rigging2 sources36 sCompleted⌄

    stylized low poly wooden sailing boat procedural geometry three.js hull planks mast rigging · typescript · strict

    Started
    Aug 7, 2026, 7:52:49 PM UTC
    Ended
    Aug 7, 2026, 7:53:25 PM UTC
    Outcome
    Result returned
    Targets
    2

    Procedural Low-Poly Wooden Sailing Boat in Three.js

    import * as THREE from "three";
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x9fc9d6);
    scene.fog = new THREE.Fog(0x9fc9d6, 18, 55);
    
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(8, 5.5, 9);
    camera.lookAt(0, 0.8, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(Math.min(devicePixelRatio, 2));
    renderer.setSize(innerWidth, innerHeight);
    renderer.shadowMap.enabled = true;
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xccecff, 0x445044, 2.2));
    const sun = new THREE.DirectionalLight(0xffe0aa, 3.5);
    sun.position.set(-6, 12, 8);
    sun.castShadow = true;
    scene.add(sun);
    
    const boat = new THREE.Group();
    boat.rotation.y = Math.PI * 0.08;
    scene.add(boat);
    
    const wood = [0x70452c, 0x8c5b38, 0xa97445, 0x5b3828].map(
      color => new THREE.MeshStandardMaterial({ color, roughness: 0.9, flatShading: true })
    );
    const darkWood = new THREE.MeshStandardMaterial({ color: 0x3e281d, roughness: 1, flatShading: true });
    const rope = new THREE.MeshStandardMaterial({ color: 0xb79b70, roughness: 1 });
    const sailMaterial = new THREE.MeshStandardMaterial({
      color: 0xe6d7ad,
      side: THREE.DoubleSide,
      roughness: 1,
      flatShading: true
    });
    
    function hullBeam(x: number): number {
      return 1.32 * Math.pow(Math.max(0, 1 - Math.abs(x) / 3.4), 0.62);
    }
    
    function hullHeight(x: number): number {
      return 0.35 + 0.18 * (1 - Math.pow(Math.abs(x) / 3.4, 1.5));
    }
    
    // Each plank is a short tapered prism. Separate segments preserve the faceted style.
    function addPlank(side: number, z0: number, z1: number, material: THREE.Material): void {
      const stations = [-3.4, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.4];
      const thickness = 0.075;
    
      for (let i = 0; i < stations.length - 1; i++) {
        const xa = stations[i];
        const xb = stations[i + 1];
        const ya = side * (hullBeam(xa) + 0.08);
        const yb = side * (hullBeam(xb) + 0.08);
        const za = z0 + hullHeight(xa) * (z0 / 0.9);
        const zb = z0 + hullHeight(xb) * (z0 / 0.9);
    
        const vertices = new Float32Array([
          xa, ya, za, xb, yb, zb,
          xa, ya, za + 0.18, xb, yb, zb + 0.18,
          xa, ya - side * thickness, za, xb, yb - side * thickness, zb,
          xa, ya - side * thickness, za + 0.18, xb, yb - side * thickness, zb + 0.18
        ]);
    
        const indices = [
          0, 1, 3, 0, 3, 2, 4, 6, 7, 4, 7, 5,
          0, 4, 5, 0, 5, 1, 2, 3, 7, 2, 7, 6,
          0, 2, 6, 0, 6, 4, 1, 5, 7, 1, 7, 3
        ];
    
        const geometry = new THREE.BufferGeometry();
        geometry.setAttribute("position", new THREE.BufferAttribute(vertices, 3));
        geometry.setIndex(indices);
        geometry.computeVertexNormals();
    
        const mesh = new THREE.Mesh(geometry, material);
        mesh.castShadow = true;
        mesh.receiveShadow = true;
        boat.add(mesh);
      }
    }
    
    for (let side of [-1, 1]) {
      for (let row = 0; row < 4; row++) {
        addPlank(side, -0.48 + row * 0.2, -0.3 + row * 0.2, wood[(row + (side > 0 ? 1 : 0)) % wood.length]);
      }
    }
    
    // Keel and bow/stern caps.
    const keel = new THREE.Mesh(new THREE.BoxGeometry(5.8, 0.22, 0.28), darkWood);
    keel.position.set(0, 0, -0.58);
    keel.castShadow = true;
    boat.add(keel);
    
    for (const x of [-3.35, 3.35]) {
      const cap = new THREE.Mesh(new THREE.BoxGeometry(0.22, 1.05, 0.75), darkWood);
      cap.position.set(x, 0, -0.05);
      cap.rotation.z = x < 0 ? -0.22 : 0.22;
      cap.castShadow = true;
      boat.add(cap);
    }
    
    // Deck beams and planks.
    for (let x = -2.7; x <= 2.7; x += 0.48) {
      const deck = new THREE.Mesh(new THREE.BoxGeometry(0.4, 0.11, hullBeam(x) * 1.72), wood[2]);
      deck.position.set(x, 0, 0.52);
      deck.castShadow = true;
      boat.add(deck);
    }
    
    function cylinderBetween(a: THREE.Vector3, b: THREE.Vector3, radius: number, material: THREE.Material): THREE.Mesh {
      const direction = new THREE.Vector3().subVectors(b, a);
      const mesh = new THREE.Mesh(new THREE.CylinderGeometry(radius, radius, direction.length(), 6), material);
      mesh.position.copy(a).add(b).multiplyScalar(0.5);
      mesh.quaternion.setFromUnitVectors(new THREE.Vector3(0, 1, 0), direction.normalize());
      mesh.castShadow = true;
      return mesh;
    }
    
    // Mast, boom, bowsprit, and rigging.
    const mastBase = new THREE.Vector3(-0.65, 0, 0.48);
    const mastTop = new THREE.Vector3(-0.65, 0, 5.0);
    boat.add(cylinderBetween(mastBase, mastTop, 0.11, darkWood));
    boat.add(cylinderBetween(new THREE.Vector3(-2.05, 0, 0.62), new THREE.Vector3(0.1, 0, 2.25), 0.075, darkWood));
    boat.add(cylinderBetween(new THREE.Vector3(-0.65, 0, 2.05), new THREE.Vector3(1.75, 0, 2.05), 0.085, darkWood));
    
    const riggingPoints: [THREE.Vector3, THREE.Vector3][] = [
      [mastTop, new THREE.Vector3(3.25, 0, 0.62)],
      [mastTop, new THREE.Vector3(-3.15, 0, 0.65)],
      [mastTop, new THREE.Vector3(-0.65, 0, -0.5)],
      [new THREE.Vector3(1.75, 0, 2.05), new THREE.Vector3(1.75, 0, 0.62)]
    ];
    for (const [a, b] of riggingPoints) boat.add(cylinderBetween(a, b, 0.018, rope));
    
    // Triangular mainsail with deliberately coarse geometry.
    const sailGeometry = new THREE.BufferGeometry();
    sailGeometry.setAttribute("position", new THREE.Float32BufferAttribute([
      -0.56, 0.04, 4.82,
      -0.56, 0.04, 2.18,
       1.68, 0.04, 2.08,
      -0.56, 0.04, 4.82,
       1.68, 0.04, 2.08,
       1.08, 0.04, 3.35
    ], 3));
    sailGeometry.computeVertexNormals();
    const sail = new THREE.Mesh(sailGeometry, sailMaterial);
    sail.castShadow = true;
    boat.add(sail);
    
    // Small fore triangle.
    const jibGeometry = new THREE.BufferGeometry();
    jibGeometry.setAttribute("position", new THREE.Float32BufferAttribute([
      -0.72, 0.02, 4.62,
      -2.0, 0.02, 0.72,
       0.05, 0.02, 2.18
    ], 3));
    jibGeometry.computeVertexNormals();
    boat.add(new THREE.Mesh(jibGeometry, sailMaterial));
    
    // Water plane.
    const water = new THREE.Mesh(
      new THREE.PlaneGeometry(80, 80, 32, 32),
      new THREE.MeshStandardMaterial({ color: 0x3d8890, roughness: 0.75, metalness: 0.05, flatShading: true })
    );
    water.rotation.x = -Math.PI / 2;
    water.position.y = -0.75;
    water.receiveShadow = true;
    scene.add(water);
    
    const clock = new THREE.Clock();
    function animate(): void {
      requestAnimationFrame(animate);
      const t = clock.getElapsedTime();
      boat.position.y = Math.sin(t * 1.2) * 0.045;
      boat.rotation.z = Math.sin(t * 0.9) * 0.018;
      renderer.render(scene, camera);
    }
    animate();
    
    addEventListener("resize", () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    References
    2
    1. flowwweb/sailingsimulatordocs/architecture.md

      Three.js-based sailing simulator architecture that explicitly plans for both hull and rigging (sail rendering approach), but it’s high-level guidance rather than procedural low-poly plank/mast-geometry implementation details.

      codeMIT
    2. flowwweb/sailingsimulatordocs/research/saltwind-analysis.md

      Good match to procedural sailing-boat geometry in Three.js (custom hull/deck/mast/rigging built from geometry), though it focuses more on sailing/trim logic than wooden low-poly hull planks details.

      codeMIT
    Request⌄

    Request payload

    {
      "query": "stylized low poly wooden sailing boat procedural geometry three.js hull planks mast rigging",
      "language": "typescript",
      "license_mode": "strict"
    }
  436. 436
    +6:38:59Code ReadCode navigationthree164 msCompleted⌄
    Started
    Aug 7, 2026, 7:52:54 PM UTC
    Ended
    Aug 7, 2026, 7:52:54 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 75,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 48,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 75,
          "file_path": "src/geometries/TorusGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TorusGeometry.js#L28-L75",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 28
        }
      ],
      "start_line": 28,
      "status": "success",
      "total_lines": 161
    }
    Request⌄

    Request payload

    {
      "end_line": 75,
      "file_path": "src/geometries/TorusGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 28,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 75,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 48,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 75,
            "file_path": "src/geometries/TorusGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TorusGeometry.js#L28-L75",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 28
          }
        ],
        "start_line": 28,
        "status": "success",
        "total_lines": 161
      },
      "title": null,
      "content": null
    }
  437. 437
    +6:39:00Code ReadCode navigationthree117 msCompleted⌄
    Started
    Aug 7, 2026, 7:52:54 PM UTC
    Ended
    Aug 7, 2026, 7:52:55 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 1175,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 26,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1175,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1150-L1175",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1150
        }
      ],
      "start_line": 1150,
      "status": "success",
      "total_lines": 1480
    }
    Request⌄

    Request payload

    {
      "end_line": 1175,
      "file_path": "src/core/BufferGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 1150,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 1175,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 26,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1175,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1150-L1175",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1150
          }
        ],
        "start_line": 1150,
        "status": "success",
        "total_lines": 1480
      },
      "title": null,
      "content": null
    }
  438. 438
    +6:39:31Code GrepCode navigationthree“constructor( radius = 1, tube =”229 msCompleted⌄

    constructor( radius = 1, tube =

    Started
    Aug 7, 2026, 7:53:26 PM UTC
    Ended
    Aug 7, 2026, 7:53:26 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/geometries/TorusGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 34,
          "file_path": "src/geometries/TorusGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TorusGeometry.js#L23-L34",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 23
        }
      ],
      "returned_matches": 1,
      "route_taken": "CONTENT_INDEX",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 3,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "GLOB",
          "value": "src/geometries/TorusGeometry.js"
        }
      ],
      "pattern": "constructor( radius = 1, tube = ",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/geometries/TorusGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 34,
            "file_path": "src/geometries/TorusGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/TorusGeometry.js#L23-L34",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 23
          }
        ],
        "returned_matches": 1,
        "route_taken": "CONTENT_INDEX",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  439. 439
    +6:43:11Get ExampleGenerated examplethree.js low poly character armor accessories procedural geometry faceted hard normals computeVertexNormals silhouette4 sources42 sCompleted⌄

    three.js low poly character armor accessories procedural geometry faceted hard normals computeVertexNormals silhouette · javascript · strict

    Started
    Aug 7, 2026, 7:57:05 PM UTC
    Ended
    Aug 7, 2026, 7:57:48 PM UTC
    Outcome
    Result returned
    Targets
    4

    Procedural Faceted Low-Poly Shoulder Armor in Three.js

    import * as THREE from 'three';
    
    const scene = new THREE.Scene();
    scene.background = new THREE.Color(0x20242c);
    
    const camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 0.1, 100);
    camera.position.set(3.6, 2.8, 5.5);
    camera.lookAt(0, 1.35, 0);
    
    const renderer = new THREE.WebGLRenderer({ antialias: true });
    renderer.setPixelRatio(devicePixelRatio);
    renderer.setSize(innerWidth, innerHeight);
    document.body.style.margin = '0';
    document.body.appendChild(renderer.domElement);
    
    scene.add(new THREE.HemisphereLight(0xbfd7ff, 0x18202a, 2.2));
    const keyLight = new THREE.DirectionalLight(0xffffff, 3.5);
    keyLight.position.set(-3, 5, 4);
    scene.add(keyLight);
    
    function addTriangle(vertices, a, b, c) {
      vertices.push(
        a.x, a.y, a.z,
        b.x, b.y, b.z,
        c.x, c.y, c.z
      );
    }
    
    // Creates a closed, angular plate from a 2D silhouette and gives it thickness.
    function extrudedArmorPlate(points, thickness) {
      const vertices = [];
      const frontZ = thickness / 2;
      const backZ = -frontZ;
    
      const front = points.map(([x, y]) => new THREE.Vector3(x, y, frontZ));
      const back = points.map(([x, y]) => new THREE.Vector3(x, y, backZ));
    
      // Non-indexed triangles deliberately keep every face's normal independent.
      for (let i = 1; i < front.length - 1; i++) {
        addTriangle(vertices, front[0], front[i], front[i + 1]);
        addTriangle(vertices, back[0], back[i + 1], back[i]);
      }
    
      for (let i = 0; i < points.length; i++) {
        const next = (i + 1) % points.length;
        addTriangle(vertices, front[i], back[i], back[next]);
        addTriangle(vertices, front[i], back[next], front[next]);
      }
    
      const geometry = new THREE.BufferGeometry();
      geometry.setAttribute(
        'position',
        new THREE.Float32BufferAttribute(vertices, 3)
      );
    
      // Matches the standard BufferGeometry normal-generation workflow.
      geometry.computeVertexNormals();
      geometry.computeBoundingSphere();
      return geometry;
    }
    
    function createPauldron(side) {
      const silhouette = [
        [0.00, 0.35],
        [0.32, 0.52],
        [0.78, 0.34],
        [1.02, 0.02],
        [0.92, -0.40],
        [0.58, -0.72],
        [0.20, -0.62],
        [0.00, -0.40]
      ];
    
      const armorMaterial = new THREE.MeshStandardMaterial({
        color: 0x536d91,
        roughness: 0.72,
        metalness: 0.35,
        flatShading: true,
        side: THREE.DoubleSide
      });
    
      const pauldron = new THREE.Mesh(
        extrudedArmorPlate(silhouette, 0.30),
        armorMaterial
      );
      pauldron.position.set(side * 0.62, 1.92, 0.02);
      pauldron.rotation.y = side * -0.16;
      pauldron.scale.x = side;
    
      // Raised center ridge emphasizes the silhouette and catches hard lighting.
      const ridge = new THREE.Mesh(
        extrudedArmorPlate([
          [0.08, 0.30],
          [0.30, 0.38],
          [0.56, 0.20],
          [0.45, -0.44],
          [0.18, -0.50]
        ], 0.12),
        new THREE.MeshStandardMaterial({
          color: 0x9b6f3c,
          roughness: 0.8,
          metalness: 0.15,
          flatShading: true,
          side: THREE.DoubleSide
        })
      );
      ridge.position.set(side * 0.62, 1.92, 0.20);
      ridge.rotation.y = side * -0.16;
      ridge.scale.x = side;
    
      const group = new THREE.Group();
      group.add(pauldron, ridge);
      return group;
    }
    
    // Low-poly character base.
    const torso = new THREE.Mesh(
      new THREE.CylinderGeometry(0.72, 0.92, 1.65, 6),
      new THREE.MeshStandardMaterial({
        color: 0x303b4c,
        roughness: 0.9,
        flatShading: true
      })
    );
    torso.position.y = 1.05;
    scene.add(torso);
    
    const head = new THREE.Mesh(
      new THREE.IcosahedronGeometry(0.48, 1),
      new THREE.MeshStandardMaterial({ color: 0x9d6e50, roughness: 1, flatShading: true })
    );
    head.position.y = 2.25;
    scene.add(head);
    
    scene.add(createPauldron(-1));
    scene.add(createPauldron(1));
    
    const ground = new THREE.Mesh(
      new THREE.CircleGeometry(5, 32),
      new THREE.MeshStandardMaterial({ color: 0x11151c, roughness: 1 })
    );
    ground.rotation.x = -Math.PI / 2;
    scene.add(ground);
    
    addEventListener('resize', () => {
      camera.aspect = innerWidth / innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(innerWidth, innerHeight);
    });
    
    function animate() {
      requestAnimationFrame(animate);
      scene.rotation.y += 0.003;
      renderer.render(scene, camera);
    }
    animate();
    
    References
    4
    1. aricooperdavis/wheal-pelldocs/CaveView/js/CaveView2Plugins.js

      Contains three.js BufferGeometry implementation including computeVertexNormals and related normal-buffer setup; useful for faceted/hard-edge silhouette workflows, though it’s not specifically low-poly armor/geometry/silhouette code and appears to be bundled/partial three.js source.

      codeMIT
    2. brentongunning/voodoo.jstools/externs/three.js

      three.js externs define FlatShading and computeVertexNormals symbols (older three.js API surface), which can help wire faceted rendering; however it’s metadata/extern definitions, not procedural low-poly armor geometry or silhouette-specific logic.

      codeMIT
    3. aricooperdavis/wheal-pelldocs/CaveView/js/workers/gltfWorker.js

      Includes three.js-style `BufferGeometry` and `computeVertexNormals` logic in JavaScript (helpful for normal generation), though it’s a glTF worker/serialized code bundle rather than directly about low-poly faceted silhouette armor accessory geometry.

      codeMIT
    4. aka-blackboots/three-curve-computeresource/three-curves-compute.js

      Contains three.js `BufferGeometry` and an implementation of `computeVertexNormals` in JavaScript, which is directly relevant to producing faceted/hard-edge normals for low-poly silhouettes (though it’s not specifically about armor/procedural accessory geometry).

      codeMIT
    Request⌄

    Request payload

    {
      "query": "three.js low poly character armor accessories procedural geometry faceted hard normals computeVertexNormals silhouette",
      "language": "javascript",
      "license_mode": "strict"
    }
  440. 440
    +6:54:18Code GrepCode navigationthree“normalizeNormals() {”953 msCompleted⌄

    normalizeNormals() {

    Started
    Aug 7, 2026, 8:08:12 PM UTC
    Ended
    Aug 7, 2026, 8:08:13 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "files_too_large_skipped": 0,
      "matched_files": [
        "src/core/BufferGeometry.js"
      ],
      "next_cursor_present": false,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 1109,
          "file_path": "src/core/BufferGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1093-L1109",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 1093
        }
      ],
      "returned_matches": 1,
      "route_taken": "SINGLE_FILE",
      "status": "success",
      "total_matches": 1,
      "unique_files_matched": 1
    }
    Request⌄

    Request payload

    {
      "allow_unscoped": false,
      "case_sensitive": false,
      "context_lines_after": 8,
      "context_lines_before": 8,
      "exclude_doc_files": false,
      "exclude_test_files": false,
      "extensions": [],
      "include_hidden": false,
      "max_matches": 50,
      "max_matches_per_file": 20,
      "package_name": "three",
      "path_selectors": [
        {
          "kind": "EXACT",
          "value": "src/core/BufferGeometry.js"
        }
      ],
      "pattern": "normalizeNormals() {",
      "pattern_type": "LITERAL",
      "registry": "npm",
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "files_too_large_skipped": 0,
        "matched_files": [
          "src/core/BufferGeometry.js"
        ],
        "next_cursor_present": false,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 1109,
            "file_path": "src/core/BufferGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/core/BufferGeometry.js#L1093-L1109",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 1093
          }
        ],
        "returned_matches": 1,
        "route_taken": "SINGLE_FILE",
        "status": "success",
        "total_matches": 1,
        "unique_files_matched": 1
      },
      "title": null,
      "content": null
    }
  441. 441
    +6:54:19Code ReadCode navigationthree911 msCompleted⌄
    Started
    Aug 7, 2026, 8:08:14 PM UTC
    Ended
    Aug 7, 2026, 8:08:14 PM UTC
    Outcome
    Result returned
    Targets
    1
    pkg:npm:three@0.185.1

    Result summary

    {
      "end_line": 140,
      "indexing_status": "indexed",
      "language": "javascript",
      "line_count": 37,
      "outcome": "result_returned",
      "result_pointers": [
        {
          "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
          "end_line": 140,
          "file_path": "src/geometries/LatheGeometry.js",
          "kind": "code",
          "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L104-L140",
          "repo_url": "https://github.com/mrdoob/three.js",
          "start_line": 104
        }
      ],
      "start_line": 104,
      "status": "success",
      "total_lines": 230
    }
    Request⌄

    Request payload

    {
      "end_line": 140,
      "file_path": "src/geometries/LatheGeometry.js",
      "package_name": "three",
      "registry": "npm",
      "start_line": 104,
      "version": "0.185.1",
      "wait_timeout_ms": 20000
    }
    Response⌄

    Response payload

    {
      "summary": {
        "end_line": 140,
        "indexing_status": "indexed",
        "language": "javascript",
        "line_count": 37,
        "outcome": "result_returned",
        "result_pointers": [
          {
            "commit_sha": "2431a09f46f34c560bc8e44b33be0e567723d5b9",
            "end_line": 140,
            "file_path": "src/geometries/LatheGeometry.js",
            "kind": "code",
            "permalink": "https://github.com/mrdoob/three.js/blob/2431a09f46f34c560bc8e44b33be0e567723d5b9/src/geometries/LatheGeometry.js#L104-L140",
            "repo_url": "https://github.com/mrdoob/three.js",
            "start_line": 104
          }
        ],
        "start_line": 104,
        "status": "success",
        "total_lines": 230
      },
      "title": null,
      "content": null
    }

Get Started

Give your coding agent
better context.

Add version-aware context from open-source code, documentation, and package data.
Start for FreeLearn how GitHits works
GitHits

Unlisted session share ·Report shared content·