@echo off
REM Erzeugt den TRO-Topologie-Graphen (DOT) aus den FB_Main.scl-Dateien
REM und rendert ihn anschliessend mit Graphviz als SVG.
REM
REM Voraussetzung: Graphviz (dot.exe) muss installiert sein, z.B. per
REM   winget install --id Graphviz.Graphviz -e

setlocal
set "SCRIPT_DIR=%~dp0"
set "REPO_DIR=%SCRIPT_DIR%.."
set "DOT_FILE=%REPO_DIR%\doc\TRO_Graph_UH01-UH05.dot"
set "SVG_FILE=%REPO_DIR%\doc\TRO_Graph_UH01-UH05.svg"

echo Erzeuge %DOT_FILE% ...
python "%SCRIPT_DIR%generate_tro_graph.py" "%DOT_FILE%"
if errorlevel 1 (
    echo Fehler bei der Erzeugung der DOT-Datei.
    exit /b 1
)

set "DOT_EXE=dot"
where %DOT_EXE% >nul 2>nul
if errorlevel 1 (
    if exist "C:\Program Files\Graphviz\bin\dot.exe" (
        set "DOT_EXE=C:\Program Files\Graphviz\bin\dot.exe"
    ) else (
        echo dot.exe wurde nicht gefunden. Bitte Graphviz installieren:
        echo   winget install --id Graphviz.Graphviz -e
        exit /b 1
    )
)

echo Rendere %SVG_FILE% ...
"%DOT_EXE%" -Tsvg "%DOT_FILE%" -o "%SVG_FILE%"
if errorlevel 1 (
    echo Fehler beim Rendern der SVG-Datei.
    exit /b 1
)

echo Fertig: %SVG_FILE%
endlocal
