Sicherungspunkt vor dem Aufraeumen. Buendelt die Arbeit, die seit dem Abschluss der Avalonia-Portierung im Arbeitsverzeichnis lag. Oberflaeche - Entwurf aus Mockup/ umgesetzt: Theme.axaml (Farben je Thema, Barlow als mitgelieferte Schrift), Icons.axaml (Symbolgeometrien), Shell.axaml (eigene ControlThemes statt Fluent umzufaerben). - Neue Steuerelemente StrokeIcon und BlueprintFrame, Seiten fuer Token-Verbrauch und Agenten-Chats, Werkzeug-Einstellungen als Seite statt eigenem Fenster, Texteditor-Fenster. - ThemeManager mit hellem und dunklem Thema; die beiden Pinsel-Konverter entfallen, weil ein fester Farbwert den Themenwechsel nicht ueberlebt. Rocket.Chat - Neues Tool-Projekt (Client, Konfiguration, Workspace-Dateien) nach der Bauform des Telegram-Tools: rocketchat_poll als Tool-Job, geweckt wird nur, wenn wirklich etwas anliegt. - send_file ist freigabepflichtig, send_message bewusst nicht: Der Raum ist Arbeitsraum, der Schutz sitzt an der Raum-Allowlist. - Konzept-Doc um die Messung gegen die echte Instanz 8.7 ergaenzt; drei Annahmen waren falsch und sind korrigiert. Deploymentcenter - DC6 (Update anwenden) und DC7 (Erstinstallation ueber setup.json) erledigt, DC3 fuer win-x64/dev; deploy/publish.py als Release-Strecke. - AppHost.DisposeAsync gegen doppeltes Herunterfahren gesperrt - sonst ueberschreibt eine zweite Abmeldung den Wartungszustand am Watchdog. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
25 lines
1.0 KiB
C#
25 lines
1.0 KiB
C#
using Avalonia.Controls;
|
|
using Avalonia.Controls.Primitives;
|
|
|
|
namespace ClawdDotNet.Desktop.Controls;
|
|
|
|
/// <summary>
|
|
/// Der Rahmen mit den vier Eckmarken — das wiederkehrende Motiv des Entwurfs.
|
|
///
|
|
/// <para>Eigenes Steuerelement statt vier von Hand gesetzter Striche je Stelle: Die Marken
|
|
/// liegen bewusst <em>halb außerhalb</em> des Rahmens, und das ist genau die Sorte Detail,
|
|
/// die beim Nachbauen an der fünften Stelle nicht mehr stimmt.</para>
|
|
///
|
|
/// <para>Weil die Marken über den Rand hinausragen, darf kein Elternteil zuschneiden.
|
|
/// In der Praxis heißt das: nicht direkt an den Fensterrand setzen, sondern mit etwas
|
|
/// Abstand — die Vorlage im Entwurf tut dasselbe.</para>
|
|
///
|
|
/// <para>Sparsam verwenden. Im Entwurf tragen nur die Info-Karte und die beiden Dialoge
|
|
/// die Marken; alle übrigen Karten sind schlichte Haarlinien-Kästen (Klasse
|
|
/// <c>card</c> in <c>Styles/Shell.axaml</c>).</para>
|
|
/// </summary>
|
|
public sealed class BlueprintFrame : ContentControl
|
|
{
|
|
protected override Type StyleKeyOverride => typeof(BlueprintFrame);
|
|
}
|