Opis zadania i szczegółowe wymagania
Należy opracować moduł odpowiedzialny za przygotowanie i transformację danych z frontendu dla backendowego komponentu Parser. W tym zadaniu musi zawierać się:
- Stworzenie funkcji mapującej strukturę globalnego stanu Reacta na format JSON ściśle zgodny ze specyfikacją oczekiwaną przez silnik C++.
- Implementacja procesu walidacji przed wysyłką danych (m.in. sprawdzenie, czy każdy wyciągnięty na obszar roboczy element posiada poprawnie przypisany adres).
- Integracja z
PLCController po stronie C++ za pomocą wywołania API warstwy komunikacyjnej, np. window.saucer.call('startSimulation', payload).
Dodatkowy kontekst i źrodła pomocnicze
Moduł ten stanowi kluczowy most komunikacyjny (Data Bridge) pomiędzy światem interfejsu użytkownika a silnikiem symulacji. Walidacja danych przed wysyłką do backendu (tzw. "sanity check") jest niezbędna – zapobiegnie to wysyłaniu uszkodzonych lub niekompletnych szczebli, które mogłyby spowodować wyjątki (np. std::invalid_argument) lub awarię pamięci po stronie parsera w C++. Funkcja tworząca payload powinna odpowiednio rekurencyjnie przetwarzać zagnieżdżone w stanie równoległe gałęzie.
Definicja wykonania zadania
Opis zadania i szczegółowe wymagania
Należy opracować moduł odpowiedzialny za przygotowanie i transformację danych z frontendu dla backendowego komponentu
Parser. W tym zadaniu musi zawierać się:PLCControllerpo stronie C++ za pomocą wywołania API warstwy komunikacyjnej, np.window.saucer.call('startSimulation', payload).Dodatkowy kontekst i źrodła pomocnicze
Moduł ten stanowi kluczowy most komunikacyjny (Data Bridge) pomiędzy światem interfejsu użytkownika a silnikiem symulacji. Walidacja danych przed wysyłką do backendu (tzw. "sanity check") jest niezbędna – zapobiegnie to wysyłaniu uszkodzonych lub niekompletnych szczebli, które mogłyby spowodować wyjątki (np.
std::invalid_argument) lub awarię pamięci po stronie parsera w C++. Funkcja tworząca payload powinna odpowiednio rekurencyjnie przetwarzać zagnieżdżone w stanie równoległe gałęzie.Definicja wykonania zadania