Skip to content

v3.0.0

Compare
Choose a tag to compare
@spamviech spamviech released this 10 Jul 20:58
· 507 commits to main since this release
  • Fehlermeldung bei Anschlüsse anpassen schließt nicht mehr das Dialog-Fenster
  • Zeige Fließend-Status von Streckenabschnitten über Transparenz an
  • Verwende einen Slider anstelle von Buttons zum Skalieren
  • Nach erfolgreichem Speichern wird der Knopf temporär Grün gefärbt
  • Aktuelle Richtung einer Weiche wird über Transparenz der Füllung angezeigt
  • Neue Kommandozeilen-Argumente zoom, x, y, winkel
  • Verbesserte Widgets zum einstellen von Position und Rotation
  • Erlaube entfernen von Weichen-Steuerung
  • Bisherige Anschlüsse werden beim Anpassen von z.B. Weichen berücksichtigt
  • Bei fehlgeschlagenem Laden wird immer ein leerer Zustand erzeugt
  • Fehlermeldungen enthalten falls möglich den betroffenen Anschluss
  • Länger dauernde Aktionen (z.B. Weiche schalten) werden in einem eigenen Thread ausgeführt
  • Bei Drag&Drop wird ein einrasten vor loslassen des Gleises angezeigt
  • Klicks müssen nicht mehr aufs Pixel genau das Gleis treffen
  • Verwende selbst-geschriebene Bibliothek für Kommandozeilen-Argumente,
    inklusiver Anpassung der erlaubten Argumente
  • Anpassen des Speicher-Formats.
    Ein Laden von mit Version 2.0.X erzeugten Dateien ist weiterhin möglich.
  • Bibliothek: erlaube assoziieren von Streckenabschnitten mit einer Geschwindigkeit
  • Bibliothek: erlaube Verwendung anderer I2c-Kanäle für Pcf8574-Anschlüsse
  • Bibliothek: Zugtyp kein Typ-Parameter mehr, sonder ein echter Typ gespeichert im Gleise-Zustand
    • Dadurch Spurweite als zusätzlicher Parameter vieler Funktionen
    • Leiter als Parameter, sofern notwendig (z.B. Geschwindigkeit)
    • Teil des Speicherformats
    • Ermöglicht im Prinzip nachträgliches hinzufügen neuer Gleise zu einem Zugtyp
  • Bibliothek:
    Ehemalige Konstanten bei Funktionen in steuerung::geschwindigkeit und steuerung::weiche
    sind jetzt Argumente.
    Sie werden für das GUI im Zugtyp gespeichert.
  • Bibliothek: Viele fehlenden docstrings ergänzt.
  • Bibliothek: GUI an neue iced-version mit state-less widgets angepasst
  • Bugfix: Bei fehlgeschlagenem Einstellen der Geschwindigkeit wird das UI nicht verändert
  • Refactoring: Aufsplitten von großen Modulen (application.rs, gleise.rs)
  • Refactoring: Verwende AnyId statt GleisId<Z>.
    Ids unterschiedlicher Gleise sind jetzt wirklich unabhängig
  • Refactoring: Alle Module sind public
  • Refactoring: Module umbenannt
    • serde.rs -> de_serialisieren.rs
    • anchor.rs -> verbindung.rs
    • polarity.rs -> polarität.rs
    • maps.rs -> daten.rs
    • args.rs -> argumente.rs
    • button.rs -> knopf.rs
  • Refactoring: Module neu sortiert
    • zugkontrolle::application::gleis -> zugkontrolle::gleis
    • zugkontrolle::application::typen -> zugkontrolle::typen
    • zugkontrolle::farbe -> zugkontrolle::typen::farbe
    • Untermodule entsprechend mit-verschoben
    • gleise::de_serialisieren ist jetzt ein Untermodul von gleise::daten
  • Refactoring: diverse Methoden-namen übersetzt
  • Refactoring: diverse Fehler-Typen umbenannt Error->Fehler
  • Refactoring: diverse Typen umbenannt Status->Zustand (state ist Zustand, nicht Status)
  • Refactoring: diverse Nachrichten-Typen umbenannt Message->Nachricht
  • Refactoring: diverse Verbindungs-Typen umbenannt
    • AnchorName->VerbindungName
    • AnchorPoints->Verbindungen
  • Refactoring: Typ umbenannt GleiseMaps -> GleiseDaten
    Dazu Änderung der internen Repräsentation auf einen RTree
  • Refactoring: Typen umbenannt:
    • Grabbed -> Gehalten
    • Args -> Argumente
    • args::Zugtyp -> ZugtypArgument
    • Button -> Knopf
  • Refactoring: GleisId neu gedacht
  • Refactoring: Anpassung diverser Traits an neue Anforderungen
  • Refactoring: GleiseMap-Trait (jetzt DatenAuswahl) ist nicht mehr public.
    Stattdessen werden explizite Methoden für jeden Typ bereitgestellt.
  • Crate umbenannt: zugkontrolle-derive -> zugkontrolle-macros
  • dependencies aktualisiert