type DebugPanelProps = {
fullControlMode: boolean;
cameraInfo: {
cameraPosition: number[];
target: number[];
zoom: number;
};
modelInfo: {
position: number[];
rotation: number[];
scale: number;
};
};
export function DebugPanel({ fullControlMode, cameraInfo, modelInfo }: DebugPanelProps) {
return (
Controls:
Mode: {fullControlMode ? 'FULL CONTROL' : 'ROTATION ONLY'}
* Left-click/Touch + drag: Rotate
{fullControlMode && (
<>
* Right-click + drag: Pan
* Scroll: Zoom
>
)}
* Ctrl+Alt+Enter: Toggle full control
* Ctrl+Alt+D: Toggle debug panel
Camera:
Position: [{cameraInfo.cameraPosition.map((v) => v.toFixed(2)).join(', ')}]
Target: [{cameraInfo.target.map((v) => v.toFixed(2)).join(', ')}]
Zoom: {cameraInfo.zoom.toFixed(2)}
Model:
Position: [{modelInfo.position.map((v) => v.toFixed(2)).join(', ')}]
Rotation: [{modelInfo.rotation.map((v) => v.toFixed(2)).join(', ')}]
Scale: {modelInfo.scale.toFixed(2)}
);
}