AI Slop Code Risk Monitor

mrdoob/three.js

SlopCodeMonitor badge for mrdoob/three.js Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

JavaScript 3D Library.

1.1 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for mrdoob/three.js, a JavaScript project with 117,256 GitHub stars. SynthScan examined 1,115,637 lines of code across 4449 source files, recording 574 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.1 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.1
Adjusted Signal
1.1
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
117.3K
Stars
JavaScript
Language
1.1M
Lines of Code
4.4K
Files
574
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 2.4/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 510 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.0/100 · LOW

Are imports declared and package/API names verified? 64 finding(s).

Agent Over-Engineering Ratio 1.6/100 · LOW

Are wrappers, guards, and repeated structures necessary? 363 finding(s).

PR Review Velocity Impact 4.9/100 · LOW

Which changes need focused human review? 574 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 59HIGH 0MEDIUM 7LOW 508

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 574 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators59 hits · 670 pts
SeverityFileLineSnippetContext
CRITICALtest/unit/addons/utils/unwrapUVs.tests.js408 assert.ok( record.mesh.geometry.attributes.uv1.array.every( value => value === 0 ) );CODE
CRITICALtest/unit/addons/utils/unwrapUVs.tests.js450 assert.ok( result.meshes[ 0 ].mesh.geometry.attributes.uv1.array.every( value => value === 0 ) );CODE
CRITICALtest/unit/addons/utils/unwrapUVs.tests.js468 assert.ok( result.meshes[ 1 ].mesh.geometry.attributes.uv1.array.every( value => value === 0 ) );CODE
CRITICALtest/unit/addons/postprocessing/GTAOPass.tests.js32 assert.deepEqual( pass.gtaoMaterial.uniforms.resolution.value.toArray(), [ 64, 48 ], 'AO resolution is updated' );CODE
CRITICALtsl/js/managers/LayoutManager.js14 this.guide.dom.sidebar.classList.add( 'open' );CODE
CRITICALtsl/js/managers/LayoutManager.js20 this.guide.dom.sidebar.classList.remove( 'open' );CODE
CRITICALtsl/js/managers/LayoutManager.js52 this.guide.dom.vResizer.classList.add( 'collapsed' );CODE
CRITICALtsl/js/managers/LayoutManager.js62 this.guide.dom.vResizer.classList.remove( 'collapsed' );CODE
CRITICALtsl/js/managers/LayoutManager.js78 this.guide.dom.vResizer.classList.add( 'editor-collapsed' );CODE
CRITICALtsl/js/managers/LayoutManager.js83 this.guide.dom.vResizer.classList.remove( 'editor-collapsed' );CODE
CRITICALtsl/js/managers/LayoutManager.js148 this.guide.dom.hResizer.classList.remove( 'collapsed' );CODE
CRITICALtsl/js/managers/LayoutManager.js176 this.guide.dom.hResizer.classList.add( 'collapsed' );CODE
CRITICAL⚡tsl/js/managers/LayoutManager.js289 this.guide.dom.vResizer.classList.add( 'collapsed' );CODE
CRITICAL⚡tsl/js/managers/LayoutManager.js294 this.guide.dom.vResizer.classList.remove( 'collapsed' );CODE
CRITICAL⚡tsl/js/managers/LayoutManager.js300 this.guide.dom.vResizer.classList.add( 'editor-collapsed' );CODE
CRITICAL⚡tsl/js/managers/LayoutManager.js305 this.guide.dom.vResizer.classList.remove( 'editor-collapsed' );CODE
CRITICAL⚡tsl/js/managers/LayoutManager.js319 this.guide.dom.hResizer.classList.add( 'dragging' );CODE
CRITICAL⚡tsl/js/managers/LayoutManager.js327 if ( this.guide.dom.vResizer.classList.contains( 'collapsed' ) || this.guide.dom.vResizer.classList.contains( 'editorCODE
CRITICAL⚡tsl/js/managers/LayoutManager.js329 this.guide.dom.vResizer.classList.add( 'dragging' );CODE
CRITICALtsl/js/managers/LayoutManager.js379 this.guide.dom.hResizer.classList.remove( 'dragging' );CODE
CRITICALtsl/js/managers/LayoutManager.js380 this.guide.dom.vResizer.classList.remove( 'dragging' );CODE
CRITICALtsl/js/managers/SearchManager.js292 this.guide.dom.tocList.classList.remove( 'search-active' );CODE
CRITICALtsl/js/managers/SearchManager.js311 this.guide.dom.tocList.classList.add( 'search-active' );CODE
CRITICALtsl/js/managers/SearchManager.js347 const query = this.guide.dom.searchInput.value.trim();CODE
CRITICALtsl/js/managers/SearchManager.js523 this.guide.dom.searchContainer.classList.add( 'focused' );CODE
CRITICALtsl/js/managers/SearchManager.js532 this.guide.dom.searchContainer.classList.remove( 'focused' );CODE
CRITICALtsl/js/managers/PlaygroundManager.js23 this.guide.dom.playgroundBtn.classList.toggle( 'active', active );CODE
CRITICALtsl/js/managers/PlaygroundManager.js76 this.guide.dom.hResizer.classList.add( 'collapsed' );CODE
CRITICALtsl/js/managers/PlaygroundManager.js86 this.guide.dom.hResizer.classList.remove( 'collapsed' );CODE
CRITICALtsl/js/managers/PlaygroundManager.js139 this.guide.dom.hResizer.classList.add( 'collapsed' );CODE
CRITICALtsl/js/managers/PlaygroundManager.js147 this.guide.dom.hResizer.classList.remove( 'collapsed' );CODE
CRITICALexamples/webgl_volume_perlin.html273 mesh.material.uniforms.cameraPos.value.copy( camera.position );CODE
CRITICALexamples/webgl_texture3d_partialupdate.html358 mesh.material.uniforms.cameraPos.value.copy( camera.position );CODE
CRITICALexamples/webgl_volume_cloud.html308 mesh.material.uniforms.cameraPos.value.copy( camera.position );CODE
CRITICALexamples/webgl_lights_sunlight.html91 sky.material.uniforms.sunPosition.value.copy( sunLight.position );CODE
CRITICALexamples/webgl_volume_instancing.html220 this.material.uniforms.cameraPos.value.copy( camera.position );CODE
CRITICALexamples/jsm/inspector/tabs/Memory.js43 this.memoryStats.domElement.firstChild.classList.add( 'no-hover' );CODE
CRITICALexamples/jsm/postprocessing/GTAOPass.js157 this.gtaoMaterial.uniforms.resolution.value.set( this.width, this.height );CODE
CRITICALexamples/jsm/postprocessing/GTAOPass.js174 this.pdMaterial.uniforms.resolution.value.set( this.width, this.height );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js256 this.gtaoMaterial.uniforms.resolution.value.set( width, height );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js257 this.gtaoMaterial.uniforms.cameraProjectionMatrix.value.copy( this.camera.projectionMatrix );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js258 this.gtaoMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js260 this.pdMaterial.uniforms.resolution.value.set( width, height );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js261 this.pdMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse );CODE
CRITICALexamples/jsm/postprocessing/GTAOPass.js365 this.gtaoMaterial.uniforms.sceneBoxMin.value.copy( box.min );CODE
CRITICALexamples/jsm/postprocessing/GTAOPass.js366 this.gtaoMaterial.uniforms.sceneBoxMax.value.copy( box.max );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js522 this.gtaoMaterial.uniforms.cameraProjectionMatrix.value.copy( this.camera.projectionMatrix );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js523 this.gtaoMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js524 this.gtaoMaterial.uniforms.cameraWorldMatrix.value.copy( this.camera.matrixWorld );CODE
CRITICAL⚡examples/jsm/postprocessing/GTAOPass.js529 this.pdMaterial.uniforms.cameraProjectionMatrixInverse.value.copy( this.camera.projectionMatrixInverse );CODE
CRITICALexamples/jsm/postprocessing/RenderPixelatedPass.js133 this._fsQuad.material.uniforms.resolution.value.set( x, y, 1 / x, 1 / y );CODE
CRITICALexamples/jsm/loaders/AMFLoader.js159 unit = node.documentElement.attributes.unit.value.toLowerCase();CODE
CRITICALexamples/jsm/lines/Wireframe.js100 this.material.uniforms.resolution.value.set( _viewport.z, _viewport.w );CODE
CRITICALexamples/jsm/lines/LineSegments2.js426 this.material.uniforms.resolution.value.set( _viewport.z, _viewport.w );CODE
CRITICALexamples/jsm/helpers/LightProbeGridHelperWebGL.js204 this.material.uniforms.probesResolution.value.copy( probes.resolution );CODE
CRITICALeditor/js/libs/codemirror/codemirror.js8916 return this.cm.display.wrapper.ownerDocument.getSelection()CODE
CRITICALsrc/renderers/webgl/WebGLBackground.js142 boxMesh.material.uniforms.backgroundRotation.value.setFromMatrix4( _m1.makeRotationFromEuler( scene.backgroundRotatioCODE
CRITICALsrc/renderers/webgl/WebGLBackground.js146 boxMesh.material.uniforms.backgroundRotation.value.premultiply( _m );CODE
CRITICALsrc/renderers/webgl/WebGLBackground.js216 planeMesh.material.uniforms.uvTransform.value.copy( background.matrix );CODE
Hyper-Verbose Identifiers363 hits · 364 pts
SeverityFileLineSnippetContext
LOWtest/unit/addons/utils/GaussianSplatTestUtils.js11function getSphericalHarmonicsCoefficientLocation( coefficient ) {CODE
LOWtest/unit/addons/utils/GaussianSplatTestUtils.js29function packSphericalHarmonicsBand( source, count, degree ) {CODE
LOWtest/unit/addons/utils/GaussianSplatTestUtils.js61function unpackSphericalHarmonicsBand( packed, count, degree ) {CODE
LOWtest/unit/utils/qunit-utils.js178function checkGeometryJsonRoundtrip( geom ) {CODE
LOWtest/unit/src/core/Raycaster.tests.js12function checkRayDirectionAgainstReferenceVector( rayDirection, refVector, assert ) {CODE
LOWtest/unit/src/geometries/EdgesGeometry.tests.js38function createIndexedBufferGeometry( vertList, idxList ) {CODE
LOWtsl/js/code/CodeRunner.js165function processExportDeclarations( code ) {CODE
LOWtsl/js/utils/CodeEditorUtils.js104function generateThreeDeclarations( THREE ) {CODE
LOWtsl/js/utils/CodeEditorUtils.js192function generateAddonDeclarations( ADDONS_TSL_IMPORTS ) {CODE
LOWmanual/resources/prettify.js375 function allowAnywhereFoldCaseAndRenumberGroups(regex) {CODE
LOWmanual/resources/prettify.js1181 function recombineTagsAndDecorations(job) {CODE
LOWmanual/resources/threejs-align-html-elements-to-3d.js134 function resizeCanvasToDisplaySize( canvas, pixelRatio = 1 ) {CODE
LOWmanual/resources/threejs-materials.js83 function makeStandardPhysicalMaterialGrid( elem, physical, update ) {CODE
LOWmanual/resources/threejs-fog.js129 function createLightDarkFogUpdater( fog ) {CODE
LOWmanual/examples/multiple-scenes-v3.html128 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/custom-buffergeometry-cube.html157 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/picking-raycaster-complex-geo.html100 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/picking-raycaster-complex-geo.html177 function getCanvasRelativePosition( event ) {CODE
LOWmanual/examples/shadows-fake.html149 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/debug-js-params.html173 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/scenegraph-car.html101 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/load-gltf-animated-cars.html237 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/picking-gpu.html133 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/picking-gpu.html246 function getCanvasRelativePosition( event ) {CODE
LOWmanual/examples/textured-cube-6-textures.html68 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/load-obj-wat.html113 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/cameras-perspective.html163 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/lots-of-objects-multiple-data-sets.html366 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/lots-of-objects-multiple-data-sets.html403 function requestRenderIfNotRequested() {CODE
LOWmanual/examples/voxel-geometry-merged.html97 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/voxel-geometry-merged.html134 function requestRenderIfNotRequested() {CODE
LOWmanual/examples/load-obj-auto-camera-xz.html155 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/tips-screenshot-bad.html99 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/offscreencanvas-cubes.js61 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/multiple-scenes-selector.html152 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/textured-cube-adjust.html137 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/indexed-textures-random-colors.html370 function getCanvasRelativePosition( event ) {CODE
LOWmanual/examples/indexed-textures-random-colors.html427 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/indexed-textures-random-colors.html467 function requestRenderIfNotRequested() {CODE
LOW…ual/examples/scenegraph-sun-earth-moon-axes-grids.html179 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/responsive-hd-dpi.html82 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/background-v01.html167 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/indexed-textures-picking-debounced.html403 function getCanvasRelativePosition( event ) {CODE
LOWmanual/examples/indexed-textures-picking-debounced.html413 function recordStartTimeAndPosition( event ) {CODE
LOWmanual/examples/indexed-textures-picking-debounced.html491 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/indexed-textures-picking-debounced.html531 function requestRenderIfNotRequested() {CODE
LOWmanual/examples/game-load-models.html203 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/voxel-geometry-separate-cubes.html117 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/voxel-geometry-separate-cubes.html154 function requestRenderIfNotRequested() {CODE
LOWmanual/examples/scenegraph-sun-earth-moon.html97 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/shadows-point-light.html225 function resizeRendererToDisplaySize( renderer ) {CODE
LOW…xamples/voxel-geometry-culled-faces-with-textures.html338 function resizeRendererToDisplaySize( renderer ) {CODE
LOW…xamples/voxel-geometry-culled-faces-with-textures.html375 function requestRenderIfNotRequested() {CODE
LOWmanual/examples/align-html-to-3d.html129 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/offscreencanvas-w-orbitcontrols.html75function makeSendPropertiesHandler( properties ) {CODE
LOWmanual/examples/offscreencanvas-w-orbitcontrols.html118function filteredKeydownEventHandler( event, sendFn ) {CODE
LOWmanual/examples/load-gltf-car-path-fixed.html238 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/webxr-point-to-select.html223 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/billboard-trees-static-billboards.html202 function resizeRendererToDisplaySize( renderer ) {CODE
LOWmanual/examples/shadertoy-as-texture.html127 function resizeRendererToDisplaySize( renderer ) {CODE
303 more matches not shown…
Over-Commented Block128 hits · 128 pts
SeverityFileLineSnippetContext
LOWtest/unit/utils/console-wrapper.js1// This easy console wrapper introduces the logging level to console forCOMMENT
LOWtest/unit/src/nodes/tsl/TSLUtilsMisc.tests.js81 // pole singularity (see the dedicated pole test below for why theCOMMENT
LOWtest/unit/src/nodes/tsl/TSLUtilsMisc.tests.js261COMMENT
LOWtest/unit/src/nodes/tsl/TSLUtilsMisc.tests.js301 // matrix.COMMENT
LOW…st/unit/src/nodes/tsl/TSLColorAdjustmentExtra.tests.js21 QUnit.module( 'color adjustment (extra)', () => {COMMENT
LOW…st/unit/src/nodes/tsl/TSLColorAdjustmentExtra.tests.js61 // result is simply color*2.COMMENT
LOWtest/unit/src/nodes/tsl/GPUBarriers.tests.js81 const output = instancedArray( 1, 'float' );COMMENT
LOW…st/unit/src/nodes/tsl/TSLColorSpaceConversion.tests.js1import { vec4, convertColorSpace, workingToColorSpace, colorSpaceToWorking, sRGBTransferEOTF, sRGBTransferOETF } from 'tCOMMENT
LOWtest/unit/src/nodes/tsl/GPUWorkgroupAtomic.tests.js21// (`workgroupArray()`, `.toAtomic()`, `atomicAdd()`, `workgroupBarrier()`) --COMMENT
LOWtest/unit/src/nodes/tsl/TSLMath.tests.js161 assert.closeAbs( PI, float( Math.PI ), 1e-6, 'PI constant' );COMMENT
LOWtest/unit/src/nodes/tsl/TSLMath.tests.js181COMMENT
LOWtest/unit/src/nodes/tsl/gpu-raw-test-utils.js1//COMMENT
LOWtest/unit/src/nodes/tsl/TSLDepthConversion.tests.js1import {COMMENT
LOWtest/unit/src/nodes/tsl/TSLLogicBitwise.tests.js1import {COMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js1//COMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js21//COMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js41// chooses to pay for it -- a plain gpuTest scalar/vector assertion and aCOMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js481// read back as their zero-initialized default -- not just `actual`, sinceCOMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js501// into both `gpuTest` and `gpuFuzzTest`.COMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js621 // callback's own comment) so every rebuild embeds the same literalCOMMENT
LOWtest/unit/src/nodes/tsl/gpu-test-utils.js821 node.message = message;COMMENT
LOWtest/unit/src/nodes/tsl/TSLPacking.tests.js101 // dot(xy, xy) == 0 -> z == 1 (straight up).COMMENT
LOWtest/unit/src/nodes/tsl/GPUSubgroup.tests.js21// hardware/driver behavior here.COMMENT
LOWtest/unit/src/nodes/tsl/GPUSubgroup.tests.js41// as a closed-form function of (laneId, groupSize) computed independentlyCOMMENT
LOWtest/unit/src/nodes/tsl/GPUAtomicsStorage.tests.js1import {COMMENT
LOW…t/unit/src/nodes/tsl/TSLBSDFLightingRemainder.tests.js281COMMENT
LOW…t/unit/src/nodes/tsl/TSLBSDFLightingRemainder.tests.js361 gpuTest( 'LTC_Evaluate() and LTC_Evaluate_Volume() both produce correct, independent results when called in the SAME COMMENT
LOWtest/unit/src/nodes/tsl/GPUComputeBuiltins.tests.js1import {COMMENT
LOWtest/unit/src/nodes/tsl/TSLVectorMatrix.tests.js81 gpuTest( 'mat3(a,b,c,...) 9-scalar constructor takes ROW-major arguments (like Matrix3.set(), NOT GLSL\'s own column-COMMENT
LOWtest/unit/src/nodes/tsl/TSLVectorMatrix.tests.js161 gpuTest( 'mat3(vec3, vec3, vec3) is COLUMN-major (GLSL-native), the OPPOSITE convention from mat3(9 scalars) (row-majCOMMENT
LOWtest/unit/src/nodes/tsl/TSLRotate.tests.js41 // per-axis matrices identically. These two tests close that gap byCOMMENT
LOWtest/unit/src/nodes/tsl/TSLBRDF.tests.js141COMMENT
LOWmanual/resources/threejs-lesson-utils.js81 // maybe there is another way. Originally I used `position: fixed`COMMENT
LOWmanual/resources/prettify.js1// Copyright (C) 2006 Google Inc.COMMENT
LOWmanual/resources/prettify.js901 }COMMENT
LOWmanual/resources/prettify.js921 // $ echo \$#COMMENT
LOWmanual/resources/prettify.js1581 if (!nested) {COMMENT
LOWmanual/examples/game-conga-line-w-notes.html261COMMENT
LOWmanual/examples/game-conga-line.html261COMMENT
LOWmanual/examples/game-player-input.html221 model.animations = animsByName;COMMENT
LOWmanual/examples/resources/editor.js981 }COMMENT
LOWmanual/pages/indexed-textures.html301#include <clipping_planes_pars_fragment>COMMENT
LOWmanual/pages/game.html761it's infrastructure that most games need.</p>COMMENT
LOWexamples/webxr_vr_layers.html41 import { VRButton } from 'three/addons/webxr/VRButton.js';COMMENT
LOWexamples/webgl_gpgpu_water.html461COMMENT
LOWexamples/jsm/misc/VolumeSlice.js181COMMENT
LOWexamples/jsm/materials/WoodNodeMaterial.js61// const dotProduct = p3.dot( p3.yzx.add( 33.33 ) );COMMENT
LOWexamples/jsm/tsl/display/AnaglyphPassNode.js61COMMENT
LOWexamples/jsm/objects/SkyMesh.js161 const vBetaM = varyingProperty( 'vec3' );COMMENT
LOWexamples/jsm/libs/mikktspace.module.js21// JavaScript port, altered from the MikkTSpace reference implementation:COMMENT
LOWexamples/jsm/libs/potpack.module.js81 // space matches the box height; update it accordinglyCOMMENT
LOWexamples/jsm/csm/CSMShader.js121COMMENT
LOWexamples/jsm/shaders/VelocityShader.js61COMMENT
LOWexamples/jsm/shaders/HalftoneShader.js41 void main() {COMMENT
LOWexamples/jsm/loaders/EXRLoader.js21// Redistribution and use in source and binary forms, with or withoutCOMMENT
LOWexamples/jsm/loaders/EXRLoader.js41// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.COMMENT
LOWexamples/jsm/loaders/EXRLoader.js61// // distribution.COMMENT
LOWexamples/jsm/loaders/TDSLoader.js941const INT_PERCENTAGE = 0x0030;COMMENT
LOWexamples/jsm/loaders/TDSLoader.js961// const FOG = 0x2200;COMMENT
LOWexamples/jsm/loaders/TDSLoader.js981// const MAT_USE_REFBLUR = 0xA250;COMMENT
68 more matches not shown…
AI Slop Vocabulary6 hits · 17 pts
SeverityFileLineSnippetContext
MEDIUMtest/unit/src/nodes/tsl/TSLUtilsMisc.tests.js114 // regardless of u). This is a robust, backend-independent invariant,COMMENT
MEDIUMexamples/webaudio_sandbox.html33 <a href="https://opengameart.org/content/project-utopia-seamless-loop" target="_blank" rel="noopener">congusbongus</aCODE
MEDIUMexamples/jsm/tsl/display/FSR1Node.js357 // RCAS pass: robust contrast-adaptive sharpening.COMMENT
MEDIUMexamples/jsm/loaders/usd/USDComposer.js4182 // Estimating bind transforms from vertex/joint samples is not robust and canCOMMENT
MEDIUMsrc/math/Box3.js212 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
MEDIUMsrc/math/Box2.js148 // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axesCOMMENT
Structural Annotation Overuse4 hits · 8 pts
SeverityFileLineSnippetContext
LOWexamples/webgl_rendertarget_texture2darray.html271 // Step 1 - Render the input DataArrayTexture into render targetCOMMENT
LOWexamples/webgl_rendertarget_texture2darray.html274 // Step 2 - Renders the scene containing the plane with a materialCOMMENT
LOW⚡examples/jsm/loaders/SVGLoader.js817 // Step 3: Compute (cx, cy) from (cx', cy')COMMENT
LOW⚡examples/jsm/loaders/SVGLoader.js821 // Step 4: Compute θ1 and ΔθCOMMENT
Slop Phrases5 hits · 6 pts
SeverityFileLineSnippetContext
LOWmanual/examples/tips-html-background.html79 If you decide to stack more than one cube, don't forget to use a stack of cubes as a guide to follow to make a tCODE
LOWmanual/pages/debugging-javascript.html484like the <a href="/docs/#api/en/materials/MeshBasicMaterial"><code class="notranslate" translate="no">MeshBasicMaterial<CODE
LOWmanual/pages/fundamentals.html390Don't forget to add addons to the import map like soCODE
MEDIUMmanual/pages/prerequisites.html315<p>For those cases where you really need to override a rule <a href="https://eslint.org/docs/user-guide/configuring#disaCODE
LOWmanual/pages/installation.html184 Don't forget to replace <i>&lt;version&gt;</i> with an actual version of three.js, like <i>"v0.149.0"</iCODE
Fake / Example Data5 hits · 6 pts
SeverityFileLineSnippetContext
LOWtest/unit/src/core/BufferGeometry.tests.js548 // a.parameters = { "placeholder": 0 };COMMENT
LOWutils/docs/template/static/scripts/highlight.min.js316}),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code",CODE
LOWdocs/scripts/highlight.min.js316}),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code",CODE
LOWmanual/examples/responsive-paragraph.html21 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec laoreetCODE
LOWmanual/examples/responsive-paragraph.html21 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec laoreetCODE
Verbosity Indicators2 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡examples/jsm/loaders/SVGLoader.js817 // Step 3: Compute (cx, cy) from (cx', cy')COMMENT
LOW⚡examples/jsm/loaders/SVGLoader.js821 // Step 4: Compute θ1 and ΔθCOMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWexamples/jsm/loaders/FBXLoader.js4432function getData( polygonVertexIndex, polygonIndex, vertexIndex, infoObject ) {CODE
LOWsrc/nodes/accessors/VelocityNode.js191function getData( object ) {CODE