[
  {
    "id": "threejs-gh-1",
    "tier": "github",
    "url": "https://github.com/mrdoob/three.js",
    "excerpt": "const renderer = new THREE.WebGLRenderer( { antialias: true } );\n\trenderer.setSize( width, height );",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-1",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "TSL benefits:\n- Works with both WebGL and WebGPU backends\n- No string manipulation or onBeforeCompile hacks",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-2",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "When using TSL, use node-based materials:\n- MeshBasicNodeMaterial\n- MeshStandardNodeMaterial",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-3",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "**Use WebGPURenderer** when you need:\n- Custom shaders/materials using TSL (Three.js Shading Language)\n- Compute shaders\n- Advanced node-based materials",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-4",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "[GLTFLoader](https://threejs.org/docs/#examples/en/loaders/GLTFLoader)",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-5",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "[OrbitControls](https://threejs.org/docs/#examples/en/controls/OrbitControls)\n- [TransformControls](https://threejs.org/docs/#examples/en/controls/TransformControls)",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-6",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "CORRECT - modern pattern (always use latest version):\nhtml\n<script type=\"importmap\">",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-7",
    "tier": "claimed-docs",
    "url": "https://threejs.org/editor/",
    "excerpt": "three.js editor",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-8",
    "tier": "claimed-docs",
    "url": "https://threejs.org",
    "excerpt": "[devtools](https://chromewebstore.google.com/detail/threejs-devtools/jechbjkglifdaldbdbigibihfaclnkbo)",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-9",
    "tier": "claimed-docs",
    "url": "https://threejs.org",
    "excerpt": "[docs](manual/#en/creating-a-scene) [examples](examples/#webgl_animation_keyframes)",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-10",
    "tier": "claimed-docs",
    "url": "https://github.com/mrdoob/three.js/wiki",
    "excerpt": "[Migration Guide](/mrdoob/three.js/wiki/Migration-Guide)",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-gh-2",
    "tier": "github",
    "url": "https://github.com/mrdoob/three.js",
    "excerpt": "git clone --depth=1 https://github.com/mrdoob/three.js.git",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-gh-3",
    "tier": "github",
    "url": "https://github.com/mrdoob/three.js",
    "excerpt": "The current builds only include WebGL and WebGPU renderers but SVG and CSS3D renderers are also available as addons.",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-11",
    "tier": "claimed-docs",
    "url": "https://github.com/mrdoob/three.js/releases",
    "excerpt": "`Renderer`: Add `resetState()` function.",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-docs-12",
    "tier": "claimed-docs",
    "url": "https://github.com/mrdoob/three.js/releases",
    "excerpt": "Mark visibility dirty in setGeometryIdAt().",
    "fetchedAt": "2026-09-15T18:59:48.036Z"
  },
  {
    "id": "threejs-gh-4",
    "tier": "github",
    "url": "https://github.com/mrdoob/three.js",
    "excerpt": "This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-docs-13",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "Use WebGPURenderer when you need: - Custom shaders/materials using TSL (Three.js Shading Language) - Compute shaders - Advanced node-based materials",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-docs-14",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "TSL benefits: - Works with both WebGL and WebGPU backends - No string manipulation or onBeforeCompile hacks - Type-safe, composable shader nodes - Automatic optimization",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-docs-15",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "[OrbitControls](https://threejs.org/docs/#examples/en/controls/OrbitControls)",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-docs-16",
    "tier": "claimed-docs",
    "url": "https://threejs.org/examples/",
    "excerpt": "three.js examples",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-docs-17",
    "tier": "claimed-docs",
    "url": "https://github.com/mrdoob/three.js/releases",
    "excerpt": "https://github.com/mrdoob/three.js/wiki/Migration-Guide#185--186",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-docs-18",
    "tier": "claimed-docs",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "CORRECT - modern pattern (always use latest version):",
    "fetchedAt": "2026-09-15T19:08:21.609Z"
  },
  {
    "id": "threejs-comm-1",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "Three.js is insane, in a good way. Great abstraction of WebGL, very user friendly, and surprisingly few things that it can't do, as long as you're willing to think up some workarounds.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-2",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "I've tried to follow three.js's own tutorials, and slip into coma every time. These are a vast improvement!",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-3",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "I was super excited to use Three.js and thought it would be easy to do what I wanted. What I wanted to do was load a simple .obj model and display it. Easy this was not.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-4",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "Btw three.js works flawlessly with Typescript too in case anyone is interested.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-5",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "there are some function signatures that don't match what's in the code using @types/three, and mrdoob does not want to maintain this. This gives a few @ts-ignore, but that's not a big problem.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-6",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "I love Three.js, but without UDP support in the browser, making most multiplayer games with it is just not feasible yet, sadly.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-7",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "the three.js examples are good (if a little sloppy in coding style). I think the main thing that helps is some kind of previous knowledge about OpenGL.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-8",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "That is called aliasing. Three.js defaults to it, but you can turn antialiasing on by passing the option to the WebGLRenderer.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-9",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/19944990",
    "excerpt": "Can you actually generate lightmaps with three.js? I did a lot with it years ago. Really nice abstraction library.",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-comm-10",
    "tier": "community",
    "url": "https://hn.algolia.com/api/v1/items/44249565",
    "excerpt": "THREE.js adds a nice layer of abstraction atop that metal [WebGL].",
    "fetchedAt": "2026-09-15T19:12:17.301Z"
  },
  {
    "id": "threejs-probe-1",
    "tier": "probe",
    "url": "https://threejs.org/llms.txt",
    "excerpt": "PROBE llms.txt: HTTP 200 at https://threejs.org/llms.txt # Three.js\n\n> Three.js is a cross-browser JavaScript library for creating 3D graphics using WebGL and WebGPU.\n\nSee the f",
    "fetchedAt": "2026-09-15T19:14:19.834Z"
  },
  {
    "id": "threejs-probe-2",
    "tier": "probe",
    "url": "https://threejs.org/manual/.md",
    "excerpt": "PROBE docs-md: HTTP 404 at https://threejs.org/manual/.md",
    "fetchedAt": "2026-09-15T19:14:19.834Z"
  },
  {
    "id": "threejs-probe-3",
    "tier": "probe",
    "url": "https://threejs.org/openapi.json",
    "excerpt": "PROBE openapi: all candidate paths 404 (https://threejs.org/openapi.json, https://threejs.org/swagger.json, https://threejs.org/api/openapi.json, https://threejs.org/.well-known/openapi.json)",
    "fetchedAt": "2026-09-15T19:14:19.834Z"
  },
  {
    "id": "threejs-probe-rt-1",
    "tier": "probe",
    "url": "https://www.npmjs.com/package/three",
    "excerpt": "PROBE runtime (recorded 2026-09-15): `npm view three version` → 0.186.0, and the public npm downloads API reports 12,206,532 weekly downloads — an order of magnitude above every other engine in the arena. MIT license verified from the registry.",
    "fetchedAt": "2026-09-15T19:14:25.000Z"
  },
  {
    "id": "threejs-probe-rt-2",
    "tier": "probe",
    "url": "https://threejs.org/docs/llms.txt",
    "excerpt": "PROBE runtime (recorded 2026-09-15): threejs.org publishes llms.txt at the site root pointing to a docs llms.txt that carries a literal '## Instructions for Large Language Models' section plus a 363 KB llms-full.txt of the complete docs. Caveat recorded honestly: human doc pages are hash-routed (no per-page static URLs) — the llms files are the machine path. No three.js MCP exists, official or notable community; coding agents drive the library directly through npm.",
    "fetchedAt": "2026-09-15T19:14:25.000Z"
  }
]
