initial commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# Tasks
|
||||
|
||||
## 1. Noyau géométrique et tests unitaires
|
||||
|
||||
- [x] 1.1 Créer `end_finder.py` avec les fonctions pures `parse_point` (deux nombres, espace ou virgule), `angle_between` (angle en degrés entre les deux droites) et `intersect_lines` (intersection par produits vectoriels, `ValueError` si vecteur direction nul), ainsi que les constantes `PARALLEL_ANGLE_DEG = 0.5` et `WARN_ANGLE_DEG = 10.0` — vérifier via les tests du 1.2
|
||||
- [x] 1.2 Créer `tests/test_end_finder.py` (stdlib `unittest`) couvrant : parsing des formats valides (`x z`, `x,z`, décimales) et rejets des invalides ; intersection nominale à résultat exact connu ; droites verticales ; droites exactement parallèles ; vecteur nul ; cohérence de `angle_between` — vérifier avec `python -m unittest` depuis la racine (tout passe)
|
||||
|
||||
## 2. Flux interactif et validation manuelle
|
||||
|
||||
- [x] 2.1 Implémenter `main()` : prompts en français (lancé puis chute de chaque œil), re-saisie en cas d'entrée invalide, re-saisie de la chute si confondue avec le lancé, application des seuils (parallèle → erreur sans coordonnées et sortie non nulle ; angle faible → avertissement avec angle), affichage arrondi à 1 décimale — vérifier manuellement avec `python end_finder.py` sur un cas nominal aux coordonnées connues
|
||||
- [x] 2.2 Valider manuellement les garde-fous : deux lancers alignés (droites parallèles → message d'erreur, aucune coordonnée affichée) et deux lancers formant un angle sous 10° (coordonnées affichées + avertissement) — vérifier la conformité aux scénarios du spec `end-portal-triangulation`
|
||||
|
||||
## 3. Documentation
|
||||
|
||||
- [x] 3.1 Rédiger `README.md` : but du programme, mode d'emploi (`python end_finder.py`), méthode de relevé des coordonnées en jeu (F3 au moment du lancer et à la chute), conseil de garder les deux lancers à quelques centaines de blocs l'un de l'autre et de confirmer par un troisième lancer près du point trouvé — vérifier que la commande documentée s'exécute telle quelle
|
||||
|
||||
## Workflow follow-up
|
||||
|
||||
- Archiver le changement (`opsx-archive`) une fois la revue de code approuvée.
|
||||
Reference in New Issue
Block a user