Spaces:
Sleeping
Sleeping
File size: 794 Bytes
1afe868 e95d66b 1afe868 6bb08c4 e95d66b 1afe868 e95d66b 7cefe36 6bb08c4 7cefe36 6bb08c4 e95d66b f3bc628 1afe868 f3bc628 e95d66b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
'use client';
import { Canvas as ThreeCanvas } from '@react-three/fiber';
import { useEffect, useRef } from 'react';
import { useControlContext } from '@/contexts/control-context';
import { Env } from '../components/env';
import { RubiksCube, RubiksCubeRef } from './rubiks-cube';
export const Canvas = () => {
const rubiksCubeRef = useRef<RubiksCubeRef>(null);
const { cubeRoughness, cubeSpeed, background, setRubiksCubeRef } = useControlContext();
useEffect(() => setRubiksCubeRef(rubiksCubeRef), [setRubiksCubeRef]);
return (
<>
<ThreeCanvas shadows camera={{ position: [0, 0, 4.5], fov: 50 }}>
<RubiksCube ref={rubiksCubeRef} cubeRoughness={cubeRoughness} cubeSpeed={cubeSpeed} />
<Env background={background} />
</ThreeCanvas>
</>
);
};
|