Skip to content

[Task] | Serializacja do JSON (Data Bridge) #38

Description

@PEXEL2002

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

  • Funkcja poprawnie mapuje stan aplikacji i generuje prawidłowy, zagnieżdżony obiekt JSON.
  • Zaimplementowano mechanizm walidacji blokujący wysyłkę w przypadku braku adresów w elementach.
  • Przycisk "Start / Play" na frontendzie skutecznie gromadzi dane i przesyła payload do backendu.
  • Silnik C++ poprawnie odbiera zserializowaną paczkę danych i jest w stanie uruchomić symulację.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions