Noullez Dimitri.
Développement Web·

Cube Studio · Simulateur 3D & Guides WCA

Plateforme interactive de speedcubing en 3D (2x2, 3x3, 4x4) avec chronomètre WCA façon csTimer et guides interactifs d'algorithmes (CFOP, Ortega, Yau, Blindfolded).

ReactThree.jsTailwind CSSZustandVite

Captures d'écran

Capture d'écran 1 du projet Cube Studio · Simulateur 3D & Guides WCA
Capture d'écran 2 du projet Cube Studio · Simulateur 3D & Guides WCA

Contexte

Création d'une plateforme complète de speedcubing interactive en 3D dans le navigateur. Le projet combine un simulateur physique multi-cubes, un chronomètre WCA de compétition conforme aux standards csTimer, et des modules d'apprentissage visuels couvrant les méthodes débutantes et expertes.

Fonctionnalités Clés

  • Simulateurs Multi-cubes (2x2, 3x3 & 4x4) : Mouvements simples et larges avec contrôles clavier/tactiles, gestion des centres et des cas de parité en 4x4.
  • Chronomètre WCA (Mode csTimer) : Prise en main conforme csTimer (maintien espace/tactile), calculs officiels des moyennes élaguées (ao5, ao12, mo3), aperçu 2D du patron de mélange et export JSON compatible csTimer.
  • Guides d'Algorithmes & Démo 3D : Répertoires interactifs (Simple 2x2/3x3/4x4, Ortega, CFOP avec 119 cas, Yau, Blindfolded Speffz) dotés d'un lecteur 3D pas-à-pas et du test direct sur le cube.
  • Internationalisation Bilingue (FR / EN) : Expérience entièrement traduite avec bascule dynamique sans rechargement.

Défis Techniques

  • Mathématiques 3D et Vecteurs d'Orientation : Vérification d'état et détection de résolution par projection de vecteurs directionnels afin d'éviter le verrouillage cardan (gimbal lock).
  • Optimisation Bundle & Code-Splitting : Isolation des dépendances lourdes (Three.js) dans des chunks distincts et chargement différé (React.lazy + Suspense) réduisant drastiquement le bundle initial.
  • Architecture Modulaire : Découplage strict de la logique d'animation et de l'état du puzzle via Zustand, intégré dans une charte graphique épurée avec Tailwind CSS.