mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-09 05:54:43 +01:00
2.5 KiB
2.5 KiB
Review PR #243 — Editor, NMT location: assign the place from the camera; //$g found in included files
Autor: @miloszunio · base: feat/switch-blades · 3 pliki, +55/−1
https://github.com/MaSzyna-EU07/maszyna/pull/243
Werdykt: Request changes (konflikty + struktura kodu)
Podsumowanie
- „Przypisz z kamery” — odwrotność „The scenery is here”: kliknięty punkt mapy = obecna pozycja kamery, z tego liczony jest początek układu (
E0 = E + x,N0 = N − z). - „Środek zapisany w pliku scenerii” — przywraca początek z linii
//$g. read_georeference()szuka//$gtakże w plikachinclude(jeden poziom).
Bardzo przydatne — dziś jeden błędny klik psuł georeferencję.
Co sprawdziłem
- Wzór kamery jest zgodny z istniejącą konwersją w
editormode.cpp(config.north + Camera.Pos.z,config.east - Camera.Pos.x). ✔ - Kolejność
{m_georeference_origin.y, m_georeference_origin.x}zgadza się znmt_place_scenery(Point.x = east). ✔ read_georeference()jest wołane co klatkę wrender_nmt_place, ale ma cachem_georeference_read, więc pliki czytane są raz. ✔
Uwagi
- Konflikty. GitHub pokazuje stan
dirty— PR wymaga rebase na aktualnyfeat/switch-blades. Jest teżsplit/3-switch-blades— warto ustalić, na którą gałąź ma finalnie trafić. - Zagnieżdżenie i wcięcia w
read_georeference(). Wewnętrzna pętla nie została wcięta po dodaniu zewnętrznegofor, a głębokość to teraz for→for→if→if→if — Sonar zgłosi S134 i prawdopodobnie S3776. Proponuję:- helper
std::optional<std::filesystem::path> include_target(std::string_view line)w anonimowym namespace, - helper
bool parse_georeference_line(std::string const &line, …), - pętlę po plikach z wczesnym
continue.
- helper
- Ścieżki include.
Global.asCurrentSceneryPath / name— sprawdzić wielkość liter (na Linuksieirt/IRT_sceneria.incvsirt/irt_sceneria.inc); funkcja dla głównego pliku już ma fallback na porównanie bez wielkości liter, include'y nie. - Limit
files.size() < 8— magiczna liczba, warto nazwaną stałą z komentarzem. - Ochrona przed pomyłką u źródła. Skoro problemem jest przypadkowe „The scenery is here”, rozważyć potwierdzenie (popup) tego przycisku, gdy sceneria ma już
//$galbo ułożone tory. Nowe przyciski to dobra droga powrotu, ale prewencja byłaby jeszcze lepsza. - Opis PR zawiera link do sesji Claude Code — do usunięcia przed merge (nie wnosi nic dla recenzenta).