Phase 6: Plattformprüfungen und absolute RGB-Farben, Change 05 archivieren
This commit is contained in:
@@ -36,7 +36,7 @@ Fenster SHALL Titelleiste, Control-Menü, Rahmen und bei Bedarf Scrollbalken erh
|
||||
- **THEN** empfängt nur der Dialog die Eingaben und danach erhält das vorher aktive Fenster den Fokus zurück
|
||||
|
||||
### Requirement: Farben und Statusanzeige
|
||||
Die IDE SHALL das anhand belegter VBDOS-Ansichten dokumentierte Farbschema aus docs/ide-referenz.md verwenden, insbesondere dunkelblaue Codefläche mit heller Schrift, weiße aktive Titel auf dunklem Magenta, graue Menüs und schwarze Statusschrift auf Cyan. Die Standardfarben SHALL auf Terminals mit Unterstützung expliziter Farbwerte unabhängig von der benutzerdefinierten ANSI-Palette ausgegeben werden. Für eingeschränkte Farbfähigkeiten SHALL ein dokumentierter, lesbarer Fallback bestehen; die IDE MUST NOT die globale Terminalpalette verändern. Die Statuszeile SHALL kontextuelle klickbare Kürzel und Zeile/Spalte im Format 00001:001 zeigen. Display SHALL Vorder-/Hintergrund aus 16 Farben, Desktop-Füllzeichen und Tabweite ändern können. Bestehende gespeicherte Farbauswahlen SHALL gültig bleiben und MUST NOT stillschweigend überschrieben werden.
|
||||
Die IDE SHALL das anhand belegter VBDOS-Ansichten dokumentierte Farbschema aus docs/ide-referenz.md verwenden, insbesondere dunkelblaue Codefläche mit heller Schrift, weiße aktive Titel auf dunklem Magenta, graue Menüs und schwarze Statusschrift auf Cyan. Alle IDE-Farben SHALL als feste 24-Bit-RGB-Werte ausgegeben werden, unabhängig von TERM, COLORTERM, NO_COLOR und der ANSI-Palette. Ein Rückfall auf Index- oder Profilfarben MUST NOT erfolgen; die IDE MUST NOT die globale Terminalpalette verändern. Fensterflächen SHALL vor dem Zeichnen vorhandene Desktopzeichen und verdeckte Fensterinhalte löschen, sodass unbeschriebene Fläche und Texthintergrund dieselbe Farbe besitzen. Die Statuszeile SHALL kontextuelle klickbare Kürzel und Zeile/Spalte im Format 00001:001 zeigen. Display SHALL Vorder-/Hintergrund aus 16 Farben, Desktop-Füllzeichen und Tabweite ändern können. Bestehende gespeicherte Farbauswahlen SHALL gültig bleiben und MUST NOT stillschweigend überschrieben werden.
|
||||
|
||||
#### Scenario: Farben ändern
|
||||
- **WHEN** der Benutzer Titelhintergrund, Desktopzeichen und Tabweite im Display-Dialog ändert
|
||||
@@ -50,6 +50,14 @@ Die IDE SHALL das anhand belegter VBDOS-Ansichten dokumentierte Farbschema aus d
|
||||
- **WHEN** eine vorhandene Optionsdatei mit angepassten DOS-Farbnummern geladen wird
|
||||
- **THEN** bleiben die gewählten Nummern sowie alle weiteren Einstellungen erhalten und gelten über dieselbe definierte IDE-Farbabbildung
|
||||
|
||||
#### Scenario: Keine Farbfähigkeit gemeldet
|
||||
- **WHEN** die IDE ohne COLORTERM, mit TERM=vt100 oder NO_COLOR=1 startet
|
||||
- **THEN** gibt sie unverändert absolute RGB-Werte aus, insbesondere Codehintergrund #0000AA und Titelhintergrund #AA00AA
|
||||
|
||||
#### Scenario: Freie Fensterfläche
|
||||
- **WHEN** der Desktop ein Füllzeichen enthält oder sich Fenster überdecken und im Editor Text eingegeben, markiert und die Auswahl aufgehoben wird
|
||||
- **THEN** bleiben unbeschriebene Fensterzellen echte Leerzeichen in der jeweiligen Fensterfarbe ohne Desktopmuster oder verdeckte Inhalte
|
||||
|
||||
### Requirement: Beständige und validierte Optionen
|
||||
Options SHALL Display, Set Paths, Right Mouse, Save und Syntax Checking anbieten. Syntax Checking SHALL anfangs aktiv sein. Rechtsklick SHALL konfigurierbar Kontext-Hilfe auslösen. Explizites Save SHALL die Optionen benutzerbezogen speichern; fehlerhafte oder unbekannte Konfiguration SHALL mit verständlicher Diagnose und benutzbaren Vorgaben behandelt werden.
|
||||
|
||||
|
||||
40
openspec/specs/terminal-plattformmatrix/spec.md
Normal file
40
openspec/specs/terminal-plattformmatrix/spec.md
Normal file
@@ -0,0 +1,40 @@
|
||||
## Purpose
|
||||
|
||||
Belegt die tatsächliche Terminalbedienbarkeit der IDE und erzeugter Programme auf allen vereinbarten System-/Architektur-Kombinationen.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement: Vollständige Ziel- und Terminalmatrix
|
||||
Die Plattformabnahme SHALL Windows amd64 mit Windows Terminal, macOS arm64 mit einem benannten Terminal sowie Linux amd64 und arm64 jeweils mit mindestens zwei verschiedenen Terminalemulatoren prüfen. Je Matrixzelle SHALL Ziel, Betriebssystem-, Terminal- und Programmversion sowie die geprüfte Revision dokumentiert sein. Reines Cross-Kompilieren MUST NOT als Ausführungsnachweis gelten.
|
||||
|
||||
#### Scenario: Ziel wurde nur gebaut
|
||||
- **WHEN** ein Linux-arm64-Artefakt zwar kompiliert, aber auf keinem passenden Ziel ausgeführt wurde
|
||||
- **THEN** bleibt dessen Ausführungsnachweis offen und die vollständige Plattformabnahme gilt nicht als bestanden
|
||||
|
||||
### Requirement: Reale Eingabe und Darstellung
|
||||
Die Matrix SHALL F1–F12, relevante Shift-/Ctrl-/Alt-Kombinationen, Menünavigation, Mausdruck/-loslassen/-bewegung, Unicode, Farben und Größenänderung für IDE und repräsentative erzeugte Programme prüfen. Die IDE-Farbprüfung SHALL das geltende VBDOS-Theme einschließlich Kontrast und Zuständen aus `ide-oberflaeche` mit dokumentiertem Farbprofil und tatsächlichen Ansichten abdecken. Eingaben SHALL genau einmal dem zuständigen IDE- oder BASIC-Kontext zugeordnet werden. Unterhalb der Mindestgröße SHALL die Anwendung bedienbar wiederherstellbar bleiben.
|
||||
|
||||
#### Scenario: Tastenkonflikt im Terminal
|
||||
- **WHEN** der Emulator eine IDE-Tastenkombination selbst abfängt
|
||||
- **THEN** dokumentiert der Nachweis diese Grenze und prüft einen erreichbaren alternativen Bedienweg, statt die nicht zugestellte Taste als erfolgreich zu werten
|
||||
|
||||
### Requirement: Wiederherstellung nach Unterbrechung
|
||||
INPUT-Warten, Break/Continue, normaler Exit, Laufzeitfehler und Shell-Rückkehr SHALL Terminalmodus, Eingabe und Anzeige konsistent erhalten beziehungsweise wiederherstellen. Native Programme SHALL diese Regeln ebenso erfüllen wie die IDE.
|
||||
|
||||
#### Scenario: Shell-Kind abbrechen
|
||||
- **WHEN** ein Shell-Kind während einer IDE- oder Programmsitzung unterbrochen wird
|
||||
- **THEN** bleibt die übergeordnete Sitzung bedienbar und nach ihrem Ende sind Terminalmodus und Anzeige wiederhergestellt
|
||||
|
||||
### Requirement: Nachprüfbare Einschränkungen
|
||||
Einschränkungen SHALL reproduzierbar, plattformspezifisch und mit Auswirkung sowie Ersatzweg beschrieben sein. Ein Produktfehler ohne funktionsgleichen erreichbaren Weg MUST als offener Befund gelten; reine TestBackend-Ergebnisse MUST NOT manuelle Emulatorprüfungen ersetzen.
|
||||
|
||||
#### Scenario: Fehlender Prüfrechner
|
||||
- **WHEN** eine erforderliche System-/Emulatorkombination nicht verfügbar ist
|
||||
- **THEN** nennt der Bericht die fehlende Kombination und führt sie bis zum tatsächlichen Nachweis offen
|
||||
|
||||
### Requirement: Identische Bibliothek auf vier Zielsystemen
|
||||
Die Plattformabnahme SHALL dieselben unveränderten TBL-Bytes aus Change 03 auf Windows amd64, macOS arm64 und Linux amd64/arm64 mit separaten BASIC-Verbrauchern zu TBC und eigenständigem Executable verknüpfen und tatsächlich ausführen. Library-Quellen SHALL nicht benötigt werden; Resultate und RUN-Neustart SHALL dem gemeinsamen Soll entsprechen. Jeder Nachweis SHALL TBL-Prüfsumme, Toolrevision, tatsächliches Host-Target und Ergebnis enthalten. Der zentrale Cross-Build in Change 06 MUST NOT diese Zielausführung ersetzen; separate Prüfsysteme und dokumentierte manuelle Läufe sind zulässig.
|
||||
|
||||
#### Scenario: Cross-Bau erfolgreich, Bibliothekslauf fehlt
|
||||
- **WHEN** alle vier Toolpakete gebaut sind, aber die gemeinsame TBL-Probe auf Windows noch nicht ausgeführt wurde
|
||||
- **THEN** bleibt der Windows-Verbrauchernachweis offen und die Plattformabnahme ist nicht abgeschlossen
|
||||
@@ -56,8 +56,10 @@ Terminal sie nicht abbilden kann, folgenlos bleiben.
|
||||
|
||||
### Requirement: Klassische Farbpalette und Blink-Simulation
|
||||
Der Bildschirm SHALL die klassische Palette abbilden (Vordergrund 0–15,
|
||||
Hintergrund 0–7) und auf ANSI-Indexfarben mappen (klassisch 1 = Blau ↔
|
||||
ANSI 4 usw.). Blinkende Vordergrundfarben (16–31) SHALL als „hell"
|
||||
Hintergrund 0–7) als feste 24-Bit-RGB-Werte ausgeben, unabhängig von Terminalprofil
|
||||
und Farberkennung (klassisch 1 = #0000AA, 4 = #AA0000). Dieselbe
|
||||
Abbildung SHALL für IDE, Formularvorschau und BASIC-Ausgabe gelten;
|
||||
programmbestimmte Farbnummern SHALL unverändert bleiben. Blinkende Vordergrundfarben (16–31) SHALL als „hell"
|
||||
simuliert werden (Farbe − 16, Intensitätsbit gesetzt) — kein echtes
|
||||
Terminal-Blinken.
|
||||
|
||||
@@ -65,6 +67,10 @@ Terminal-Blinken.
|
||||
- **WHEN** `COLOR 17, 0` gesetzt wird (blinkend Blau)
|
||||
- **THEN** wird mit heller Vordergrundfarbe 9 gerendert
|
||||
|
||||
#### Scenario: Programmbestimmte absolute Farbe
|
||||
- **WHEN** ein Programm COLOR 7, 1 oder entsprechende ForeColor-/BackColor-Eigenschaften verwendet
|
||||
- **THEN** wird #AAAAAA auf #0000AA ausgegeben, auch bei abweichender ANSI-Palette und ohne COLORTERM
|
||||
|
||||
### Requirement: Unicode-Zellenmodell
|
||||
Der Puffer SHALL Unicode-Zeichen speichern (keine CP437-Emulation).
|
||||
Zeichen mit Darstellungsbreite 2 (u. a. Emoji, CJK) SHALL zwei
|
||||
|
||||
Reference in New Issue
Block a user