import { useRef } from "react";
import { MujocoCanvas, useFrameCapture } from "mujoco-react";
function SceneCapture({ config }) {
const containerRef = useRef<HTMLDivElement>(null);
const frameCapture = useFrameCapture({
target: containerRef,
type: "image/png",
});
async function saveFrame() {
const frame = await frameCapture.capture();
await fetch("/api/captures/frame", {
method: "POST",
body: JSON.stringify({ dataUrl: frame.dataUrl }),
});
}
return (
<div ref={containerRef}>
<MujocoCanvas
config={config}
gl={{ preserveDrawingBuffer: true }}
/>
<button onClick={saveFrame} disabled={frameCapture.isCapturing}>
Capture frame
</button>
</div>
);
}