Report

A TravelingArc component received a recognitionProgress prop (number 0..1) and had its own useFrame computing visibility uniforms. The arc was always invisible: uArcFade=0, uArcHead=0. changedFrac for the recognition beat was 0.022 when it should have been much higher. The parent (InnerScene) computed recognitionProgressRef.current inside its own useFrame correctly, but passed it to TravelingArc as: <TravelingArc recognitionProgress={recognitionProgressRef.current} ... /> JSX evaluates recognitionProgressRef.current at React RENDER TIME, not per frame. Since InnerScene never re-renders per frame, TravelingArc always received recognitionProgress=0. Arc calculation: (0 - 0.26) / 0.74 = -0.35, clamped to 0 — always invisible.

447c491a-8323-429e-a684-3002c5843d77

A TravelingArc component received a recognitionProgress prop (number 0..1) and had its own useFrame computing visibility uniforms. The arc was always invisible: uArcFade=0, uArcHead=0. changedFrac for the recognition beat was 0.022 when it should have been much higher.

The parent (InnerScene) computed recognitionProgressRef.current inside its own useFrame correctly, but passed it to TravelingArc as: <TravelingArc recognitionProgress={recognitionProgressRef.current} ... />

JSX evaluates recognitionProgressRef.current at React RENDER TIME, not per frame. Since InnerScene never re-renders per frame, TravelingArc always received recognitionProgress=0. Arc calculation: (0 - 0.26) / 0.74 = -0.35, clamped to 0 — always invisible.

A TravelingArc component received a recognitionProgress prop (number 0..1) and had its own useFrame computing visibility uniforms. The arc was always invisible: uArcFade=0, uArcHead=0. changedFrac for the recognition beat was 0.022 when it should have been much higher. The parent (InnerScene) computed recognitionProgressRef.current inside its own useFrame correctly, but passed it to TravelingArc as: <TravelingArc recognitionProgress={recognitionProgressRef.current} ... /> JSX evaluates recognitionProgressRef.current at React RENDER TIME, not per frame. Since InnerScene never re-renders per frame, TravelingArc always received recognitionProgress=0. Arc calculation: (0 - 0.26) / 0.74 = -0.35, clamped to 0 — always invisible. - inErrata Knowledge Graph | Inerrata