React Doctor
492 rules react-doctor@0.9.18
Complete effective rule inventory.
Rules
No enabled React Doctor rules match this search.
-
react-doctor/r3f-no-shadows-on-unsupported-lightUse a directional, point, or spot light when the scene needs a shadow-casting light
: warning in React projects -
react-doctor/r3f-no-state-in-pointer-moveKeep pointer-move previews in Three.js refs or transient state and publish one semantic React update when the interaction commits
: warning in React projects -
react-doctor/r3f-no-state-in-use-frameMutate Three.js refs or an external transient store inside useFrame; reserve React state for guarded, infrequent transitions
: warning in React projects -
react-doctor/r3f-no-sync-readback-in-use-frameMove readback to a discrete or serialized async path and reuse the latest completed result during frames
: warning in React projects -
react-doctor/r3f-no-unstable-argsKeep reference-valued constructor arguments stable with module scope or useMemo so React Three Fiber does not reconstruct and dispose the Three.js object on a later render
: warning in React projects -
react-doctor/r3f-no-use-frame-dependency-arrayRemove the dependency array. Pass a numeric render priority on R3F v9, or supported scheduling options on R3F v10
: warning in React projects -
react-doctor/r3f-prefer-gpu-instanced-animationMove repeated per-instance transform motion into instanced attributes, a vertex shader, or GPU simulation
: warning in React projects -
react-doctor/r3f-prefer-gpu-position-animationAnimate repeated vertex or particle positions in a vertex shader, instanced attribute, or GPU simulation instead of rewriting them on the CPU every frame
: warning in React projects -
react-doctor/r3f-prefer-instanced-meshRender repeated meshes that share geometry and material with <instancedMesh> so they can use one draw call
: warning in React projects -
react-doctor/r3f-prefer-use-loaderLoad render resources with R3F useLoader so Suspense caching can deduplicate them and a parent error boundary can surface failures
: warning in React projects -
react-doctor/r3f-require-animation-mixer-updateCall mixer.update(delta) from useFrame after starting mixer actions
: error in React projects -
react-doctor/r3f-require-data-texture-updateSet texture.needsUpdate to true after changing data-texture pixels
: error in React projects -
react-doctor/r3f-require-dynamic-buffer-usageSet usage={DynamicDrawUsage} on buffer attributes uploaded from useFrame
: warning in React projects -
react-doctor/r3f-require-environment-for-metalProvide scene environment lighting or an envMap for strongly metallic standard and physical materials
: warning in React projects -
react-doctor/r3f-require-frame-deltaScale incremental transforms and interpolation by useFrame delta, use delta-aware damping, or assign from absolute time
: warning in React projects -
react-doctor/r3f-require-global-effect-cleanupRegister addEffect, addAfterEffect, and addTail from an effect and return the exact disposer so remounts do not retain global render-loop callbacks
: warning in React projects -
react-doctor/r3f-require-instanced-buffer-updateAfter setMatrixAt, setColorAt, or setMorphAt, set the matching instance buffer's needsUpdate flag to true
: error in React projects -
react-doctor/r3f-require-lighting-for-pbrAdd a light, scene environment, material envMap, lightMap, or intentional emissive source for PBR materials
: warning in React projects -
react-doctor/r3f-require-lit-material-normalsAttach a normal BufferAttribute or compute vertex normals before applying a normal map to custom geometry
: error in React projects -
react-doctor/r3f-require-owned-texture-cleanupDispose locally constructed textures in a React effect cleanup
: warning in React projects -
react-doctor/r3f-require-position-buffer-updateSet the position BufferAttribute needsUpdate flag after changing its values on the CPU
: error in React projects -
react-doctor/r3f-require-projection-matrix-updateCall camera.updateProjectionMatrix() after imperatively changing projection properties so Three.js renders the new frustum
: error in React projects -
react-doctor/r3f-require-render-target-resetCall gl.setRenderTarget(null) on every useFrame path after rendering to an offscreen target
: error in React projects -
react-doctor/r3f-require-render-with-positive-priorityRender the scene or composer from the positive-priority useFrame subscription, or use a non-positive priority to keep automatic rendering enabled
: warning in React projects -
react-doctor/r3f-require-root-unmountUnmount component-owned R3F roots in React cleanup, or return an exact disposer that unmounts the root
: warning in React projects -
react-doctor/r3f-require-shadows-enabledEnable the Canvas shadows prop when descendants cast or receive real-time shadows
: warning in React projects -
react-doctor/r3f-require-transparent-for-opacityEnable transparent, alphaHash, or alphaTest when a material opacity below 1 should affect rendering
: warning in React projects -
react-doctor/r3f-require-uv-for-texture-mapAttach a uv, uv1, uv2, or uv3 BufferAttribute when a built-in mesh material samples a texture map
: error in React projects -
react-doctor/r3f-texture-repeat-requires-wrappingSet wrapS or wrapT to RepeatWrapping or MirroredRepeatWrapping when increasing repeat on that axis
: warning in React projects -
react-doctor/r3f-valid-buffer-attribute-array-lengthUse an attribute array length divisible by itemSize
: error in React projects -
react-doctor/r3f-valid-buffer-attribute-item-sizeUse a positive integer itemSize matching the number of components per vertex attribute
: error in React projects -
react-doctor/r3f-valid-fog-parametersUse non-negative fog parameters and keep linear fog far greater than near
: error in React projects