Files
Infinity_Vis_Rust/docs/local_software_only_runbook.md

1.8 KiB

Local Software-Only Runbook

Voraussetzungen

  • Rust stable Toolchain mit cargo, rustc, rustfmt und clippy
  • dieses Repo ist lokal aktuell kein echter Git-Clone, sondern nur ein Arbeitsbaum ohne .git
  • keine Hardware ist fuer den software-only Betrieb noetig

Beispiel fuer eine user-lokale Rust-Installation:

curl -sSf https://sh.rustup.rs -o /tmp/rustup-init.sh
sh /tmp/rustup-init.sh -y --profile minimal --default-toolchain stable
. "$HOME/.cargo/env"
rustup component add rustfmt clippy

Start

. "$HOME/.cargo/env"
cargo run -p infinity_host_api -- --config config/project.example.toml --bind 127.0.0.1:9001 --runtime-state data/runtime_state.json

Lokale URLs

  • Creative Web-UI: http://127.0.0.1:9001/
  • State API: http://127.0.0.1:9001/api/v1/state
  • Preview API: http://127.0.0.1:9001/api/v1/preview
  • Snapshot API: http://127.0.0.1:9001/api/v1/snapshot
  • WebSocket-Stream: ws://127.0.0.1:9001/api/v1/stream

Minimale Smoke-Checks

  1. Web-UI laedt unter http://127.0.0.1:9001/.
  2. GET /api/v1/state antwortet mit api_version: "v1".
  3. ws://127.0.0.1:9001/api/v1/stream verbindet und liefert zuerst snapshot, dann preview.
  4. In der Web-UI oder ueber POST /api/v1/command funktionieren diese Basisfluesse:
    • preset recall
    • preset save / overwrite
    • creative snapshot save / recall
    • blackout

Runtime-State und Recovery

  • Runtime-Persistenz liegt standardmaessig unter data/runtime_state.json.
  • Beim Schreiben werden aktiver Scene-State, Runtime-Presets, Runtime-Gruppen, Creative Snapshots und globale Steuerwerte persistiert.
  • Fehlende Dateien sind okay.
  • Leere, defekte oder schema-inkompatible Persistenzdateien blockieren den Serverstart nicht mehr.
  • In diesen Recovery-Faellen startet der Host mit Default-State und erzeugt Warning-/Info-Events im Eventfeed statt abzubrechen.