The html2canvas killer

Most bug widgets capture a black rectangle on a WebGL page.

We don't. Below is the exact test we run against a live 3D scene — the system under test, the defects we plant, and the evidence we expect back. Then seven more stacks, each a different way to break a lesser widget. Run any of them yourself.

8
Stacks under test
20+
Hard-mode techniques validated
0
Black rectangles
QA test charter
System under test react-three-fiber product configurator
Planted defects — flip "break it"
  • !WebGL context loss (GPU reset)
  • !Texture load 404
  • !devicePixelRatio mismatch
What we capture
  • ✓The actual 3D scene, not a black rectangle
  • ✓Retina-sharp — honors devicePixelRatio
  • ✓No frame tear mid-animation
  • ✓GPU renderer string + WebGL console errors
Run this demo live

Live now at demo.oncatch.app — flip "break it" and submit a defect.

Seven more ways to break a widget.

Every stack embeds the real widget and a planted-defect toggle. File a defect, then watch it land in the public triage view — seconds later.

Four demos are live now at demo.oncatch.app — run one, flip "break it", submit a defect, and watch it land in the live triage view. The remaining stacks are in build.