Phase 6: VBDOS-Theme umsetzen und Change 05a archivieren

This commit is contained in:
2026-09-07 20:25:55 +02:00
parent 69f2002481
commit 5aa920b768
22 changed files with 686 additions and 79 deletions

View File

@@ -3,7 +3,8 @@
Rekonstruierte UX-Spezifikation der IDE des Vorbilds (VBDOS 1.0, 1992) —
Grundlage für `tb-ide` (Phase 5). Quellen: Original-Hilfedatei (dekodiert),
README des Originalpakets, Screenshots (Pixelanalyse), Sekundärliteratur.
Konfidenz je Abschnitt vermerkt; `TODO` = offen.
Konfidenz je Abschnitt vermerkt; `TODO` = offen. Konkrete Farbquellen und
Kontrastanpassungen: siehe Abschnitt 4a.
Die IDE besteht im Vorbild aus zwei Programmen: der **Programmierumgebung**
und dem separaten **Form Designer** (eigene Menüleiste, Wechsel über
@@ -99,6 +100,106 @@ Alles über **Options→Display** je „User-Interface Element" umkonfigurierbar
(Fore-/Background aus 16 Farben, Desktop-Füllzeichen, Tabweite).
Laufzeit-Defaults kompilierter Programme weichen ab (Titel Weiß auf Schwarz).
## 4a. Farbabbildung und Kontrast (Phase 6)
Die DOS-Farbnummern in Options→Display bleiben erhalten. Die IDE verwendet
bei `COLORTERM=truecolor`/`24bit` explizite RGB-Werte der klassischen
16-Farben-Palette; bei `TERM=…256color` feste Einträge im Farbwürfel und der
Graurampe außerhalb der ersten 16 ANSI-Farben. Ein generisches `COLORTERM`
verdeckt diese 256-Farben-Erkennung nicht. Auf Windows verwendet die IDE
zusätzlich die ANSI-Fähigkeitserkennung des vorhandenen Terminaladapters.
Die Erkennung erfolgt einmal pro Prozess; nach Profiländerungen neu starten.
Damit hängt das Standardtheme bei expliziter Farbausgabe nicht von einer
pastellfarbenen ANSI-Palette ab. Beispielwerte: Codehintergrund `#0000AA`,
Codeschrift `#AAAAAA`, aktiver Titel `#FFFFFF` auf `#AA00AA`. DOS-Farbe 6
ist Braun (`#AA5500`), nicht das frei konfigurierte ANSI-Gelb. Der
256-Farben-Fallback nähert diese Werte an (`#0000AF`, `#A8A8A8`, `#AF00AF`).
Die globale Terminalpalette wird nicht verändert. Unbekannte beziehungsweise
reine 16-Farb-Terminals verwenden weiterhin die ANSI-Zuordnung; dort ist ein
geeignetes Terminalprofil nötig. `NO_COLOR`, Transparenz, Farbfilter und
Inaktivitätsdimmung des Emulators können die Darstellung zusätzlich verändern;
die IDE überschreibt solche Benutzereinstellungen nicht.
### Referenzfundstellen
Die folgenden Originalprogramm-Ansichten wurden am 07.09.2026 visuell
abgeglichen; die Beschreibung des Archivs ist keine Quelle für die genaue
Palette. Ansichten belegen Flächen und Rollen, keine heutige Terminalausgabe.
- [Code View: Code, Run-Menü, Projekt und Status](https://winworldpc.com/screenshot/c39439e2-80a2-c692-222e-11c3a4e284a2/207ae280-a231-57c3-b111-c3a4c2a90f70)
- [Form View: Designer, Properties, Werkzeuge und Palette](https://winworldpc.com/screenshot/c39439e2-80a2-c692-222e-11c3a4e284a2/1865c3a7-0957-c3b1-11c3-a4c2a90f7054)
- [About: Dialog, aktiver Titel und Fokusrahmen](https://winworldpc.com/screenshot/c39439e2-80a2-c692-222e-11c3a4e284a2/0de2809a-6fc3-b757-c3b1-11c3a4c2a90f)
| Rolle | Beobachtung im Vorbild | Terminal Basic / Anpassung |
|---|---|---|
| Code | Helle Schrift auf dunklem Blau | DOS 7 auf 1; Auswahl invertiert dasselbe Paar |
| Aktiver Titel / Dialogtitel | Weiß auf Magenta | DOS 15 auf 5; dunkles Magenta, kein Pastellrosa |
| Inaktives Projekt / Rahmen | Schwarz auf Grau | DOS 0 auf 7; aktive Fenster zusätzlich mit Doppelrahmen |
| Menü, Projekt, Dialog | Schwarz auf Grau; Auswahl hell auf Schwarz | DOS 0 auf 7, Auswahl 15 auf 0 |
| Status | Schwarz auf Cyan | DOS 0 auf 3 |
| Designer-Werkzeuge | Schwarz auf Cyan | DOS 0 auf 3 |
| Properties Bar | Helle Schrift auf Cyan | Bewusste Kontrastanpassung: Schwarz auf Cyan |
| Fokusrahmen und Sizing Handles | Teilweise Weiß auf Grau | Schwarzer Doppelrahmen; schwarze Handle-Zeichen auf Gelb |
| Deaktivierte Beschriftungen | Nicht ausreichend durch diese Ansichten belegt | Lesbares Schwarz auf Grau, Menüs zusätzlich `×` und kursiv |
| Hilfe und Debuggermarkierungen | In diesen Ansichten nicht belegt | Dunkelblaue Hilfetitel/Links auf Grau; Fokus Weiß auf Blau; Breakpoints Weiß auf Rot, Ausführungszeile Schwarz auf Gelb |
Die Standardpaare müssen bei RGB- und 256-Farben-Ausgabe mindestens 4,5:1
Textkontrast erreichen; notwendige nichttextuelle Fokusmarkierungen mindestens
3:1. Die Zelltests prüfen auch Rahmen und Handles auf mindestens 4,5:1
gegen ihren eigenen Hintergrund. Benutzerauswahl in Display bleibt frei;
bestehende Optionsdateien werden nicht umgeschrieben. BASIC-Ausgabe und
Formularvorschau behalten ihre programmbestimmten Farbattribute, während
Designer-Werkzeuge und Handles die IDE-Farben verwenden.
Die sRGB-Kontrastberechnung ergibt für die wichtigsten Standardpaare:
| Rolle | RGB | 256 Farben |
|---|---|---|
| Code / Hilfelink | 5,72:1 | 5,45:1 |
| Aktiver Titel | 6,38:1 | 6,10:1 |
| Menü / Dialog / deaktivierter Text | 9,04:1 | 8,83:1 |
| Status / Werkzeuge | 7,33:1 | 7,75:1 |
| Auswahl | 21,00:1 | 21,00:1 |
| Linkfokus / Debugger | 13,29:1 | 12,97:1 |
| Breakpoint | 7,75:1 | 7,44:1 |
| Ausführung / Handle | 19,69:1 | 19,72:1 |
### Prüffolge für Change 05
Je Pflichtzelle Windows amd64/Windows Terminal, macOS arm64/Terminal.app,
Linux amd64/xterm, Linux amd64/VTE, Linux arm64/xterm und Linux arm64/VTE:
1. Revision und Executable-Prüfsumme, OS-/Terminalversion, Profil,
`TERM`/`COLORTERM`, `NO_COLOR`, Transparenz und Dimmung protokollieren.
Mit einem frischen Optionsverzeichnis sowie einer Kopie der vorhandenen
Optionen prüfen; echte Benutzeroptionen dabei erhalten.
2. `tests/compat/datarohtext.bas` öffnen. Unmarkierten Editor und Ctrl+A-Auswahl
erfassen, anschließend mit F6 ins Projekt wechseln. Erwartet: dunkles
Blau, lesbare Auswahl, unterscheidbare aktive/inaktive Rahmen und Titel.
3. Run-Menü einschließlich deaktiviertem Eintrag, Options→Display und einen
Exportdialog mit ungültiger Eingabe öffnen. Erwartet: lesbare Mnemonics,
Fokusfelder, deaktivierte Texte und Fehlerhinweise.
4. F1-Hilfe öffnen, mit Tab einen Link fokussieren. F9-Breakpoint setzen und
mit F5 bis zum Halt laufen. Erwartet: lesbare Überschriften und Links,
sichtbare Breakpoint-/Ausführungsmarkierungen.
5. Neue Form anlegen, Toolbox und Palette öffnen, Control auswählen und
Größe ändern. Erwartet: cyanfarbene Werkzeuge/Properties, lesbare 16
Farbbeschriftungen und Handles; ForeColor/BackColor der Vorschau bleiben
unabhängig vom IDE-Theme.
6. Dieselben Ansichten mit absichtlich abweichender ANSI-Palette prüfen.
RGB-/256-Farben der IDE müssen stabil bleiben. Transparenz und
Inaktivitätsdimmung getrennt ein-/ausschalten und Abweichungen als
Emulatorverhalten dokumentieren. Für 16-Farb-Fallback das tatsächlich
geeignete Profil und verbleibende Unterschiede festhalten.
7. Options ändern, speichern und neu starten; Auswahl muss erhalten sein.
IDE beenden: globale Palette und normale Shell-Anzeige müssen erhalten sein.
Pro Schritt Soll/Ist, Bild-/Transkriptbezug und gegebenenfalls Befund führen.
Headless-Zelltests ersetzen diese visuellen Zielnachweise nicht. Die
vollständige Matrix ist noch offen; die Originalansichten oben sind keine
bestandenen TerminalBasic-Zielprüfungen.
## 5. Editor-Verhalten (Konfidenz: sicher; Keyword-Großschreibung: wahrscheinlich)
- **Syntax Checking** (Toggle, Standard an): beim Verlassen der Zeile wird