spamviech / zugkontrolle

Kontrolle eine Märklin-Modelleisenbahn über einen Raspberry Pi.
MIT License
2 stars 0 forks source link

Neu-Strukturierung des Gleise-Zustands basierend auf Ids? #42

Closed spamviech closed 9 months ago

spamviech commented 3 years ago

Indizes sind der natürliche Feind der Menschheit und gehören beseitigt wo es nur geht.

Plan: Anstelle wie bisher zu jedem Gleis ein Namen (= Index/Id) des zugewiesenen Streckenabschnittes zu speichern für jeden Streckenabschnitt zusätzlich zu Anschluss- und Farb-Informationen alle zugehörigen Gleise speichern. Dadurch kann es nicht mehr zu zugewiesenen, aber bereits entfernten Streckenabschnitten kommen (Sollte aktuell auch nicht der Fall sein, aber dann wäre es strukturell nicht mehr möglich).

Eventuell macht es auch Sinn Streckenabschnitte jeweils Geschwindigkeiten zuzuweisen, damit ein Zusammenhang dargestellt werden kann. (Wie kann das im UI sinvoll eingestellt werden?)

Großer Nachteil: Save-Dateien sind inkompatibel, zusätzlich zur massiven API-Änderung.

spamviech commented 3 years ago

Alternative: Ids komplett entfernen und direkt über Position identifizieren. Dazu Daten direkt in RStern speichern, evtl. wird der gesonderte Verbindungs-RStern nicht mehr notwendig?

Problem: kann zu Mehrdeutigkeit führen.

spamviech commented 1 year ago

Neuer Plan: Eindeutige (konstanste) Ids, die nur verglichen werden kann (automatisch eindeutig), mit Type-tag. (Aktuell gibt es einen Bug, wenn ein Gehaltenes Gleis zum entfernen losgelassen wird, während es noch bewegt wird. Der Grund ist, dass die ID der Nachricht nicht mehr passt. Außerdem sind aktuelle Ids nicht gut zum handhaben. -> Verwende (im newtype versteckte) Zahlen)

Vorteile:

Nachteile:

Evtl. zusätzlich: Ids für Streckenabschnitt/Geschwindigkeit, Name als Teil der Struktur. Dadurch wäre ein umbenennen deutlich einfacher möglich.