Phase 6: IDE-Exportanbindung abschließen und Change archivieren

This commit is contained in:
2026-09-07 17:00:29 +02:00
parent 25176947ba
commit 69f2002481
31 changed files with 1310 additions and 136 deletions

View File

@@ -101,31 +101,42 @@ Externe Änderungen der Optionsdatei werden vor dem Ersetzen erkannt.
## Native Exporte: UI in Phase 5, Erzeugung in Phase 6
Run → Make EXE File… (Alt+R, E) und Make Library… (Alt+R, L) öffnen
vollständig bedienbare Dialoge. Artefaktart ist das native eigenständige
Executable bzw. die native Systembibliothek. Zielsystem (Linux/macOS/Windows)
und Architektur (x86_64/aarch64) sind auswählbar; Vorgabe ist das laufende
Zielsystem. Ausgabepfad und Überschreibentscheidung werden je Auftrag
erfasst. Die Auswahl ist noch keine Zusage einer vom Backend unterstützten
Kombination; die Phase-6-Plattformmatrix bestätigt die tatsächlichen Ziele.
Run → Make EXE File… (Alt+R, E) erzeugt ein eigenständiges natives
Executable. Unterstützt werden Windows x86_64, macOS aarch64 und Linux
x86_64/aarch64. Die passende `tbrt`-Vorlage samt `.meta` muss neben dem
IDE-Executable unter `runtimes/<target-triple>/` liegen. Fehlende Vorlagen
und Finalisierungsvoraussetzungen werden konkret gemeldet; macOS-Exporte
benötigen macOS mit `/usr/bin/codesign`.
Prüfen/Enter validiert die Angaben und schützt Projektdatei, geöffnete
Dokumente und binäre FRM-Originale. Leere/ungültige Pfade, fehlende
Zielverzeichnisse, bestehende Ziele ohne Zustimmung und `.tbc` als natives
Ziel ergeben eine Diagnose; die anderen Angaben bleiben erhalten.
Make Library… (Alt+R, L) erzeugt eine portable `.tbl`. Hier gibt es keine
System-/Architekturwahl und keine erforderliche Runtime-Vorlage. Add File
nimmt TBL als Binärabhängigkeit auf, Remove File entfernt nur den Verweis.
MAK-Speicherung und Save As erhalten die Reihenfolge und relativen Verweise.
Bibliotheken sind weder editierbare Quelltexte noch zulässige Startdateien.
Start, Check, Debugger und Export verwenden denselben Linker wie `tbc link`.
Fehlende Bibliotheksquellen werden im Debugger benannt; Fortsetzen und
Prozedurschritte bleiben möglich.
Nur **Erzeugen** ist bis Phase 6 gesperrt, mit dem Hinweis „Native
Erzeugung folgt in Phase 6“. Ein Produktionsaufruf schreibt keine Datei
und meldet keinen erfundenen Erfolg. Der vorbereitete Auftrag trägt
Projektidentität und Revisionsstand, Artefakt, Zielsystem, Architektur,
Pfad und Überschreibentscheidung. Die UI kann zu diesem Auftrag Laufend,
Erfolg, Fehler und Abbruch darstellen. Oberflächentests speisen diese
Ergebnisse kontrolliert ein; sie belegen keine native Erzeugung.
Erzeugen/Enter beziehungsweise der gleichnamige Mausknopf validiert den
Ausgabepfad und die Überschreibentscheidung. Projektdateien, Quelltexte,
Includes, binäre FRM-Originale und Bibliotheken sind geschützt. Leere oder
ungültige Pfade, fehlende Zielverzeichnisse, unzulässige EXE-Ziele und `.tbc`
als natives Exportziel liefern eine Diagnose und erhalten die Angaben.
Die tatsächliche Erzeugung und reale Backend-Anbindung, native Formate,
Library-Symbole/Aufrufvertrag und der native Verbraucher-Nachweis stehen
explizit in [PLAN.md, Phase 6](../PLAN.md). Ein umbenanntes TBC erfüllt
keines der beiden Exportziele.
Der Export verwendet den aktuellen Modul-/Form-/Include-Pufferstand ohne
implizites Speichern. Bibliotheksbytes gehören zum Auftragsstand. Während
der Hintergrundarbeit bleibt der Dialog bedienbar; Esc verwirft den Auftrag
und seine temporäre Ausgabe. Erfolg erscheint erst nach Veröffentlichung.
Projektänderungen, ausgetauschte Libraries, neuere Aufträge und extern
geänderte Ziele verhindern die Veröffentlichung eines alten Ergebnisses.
Das Schließen eines bereits erfolgreichen Dialogs macht den Erfolg nicht
rückwirkend zu einem Abbruch.
Absichtlich backendlose Oberflächentests zeigen weiterhin die
Phase-6-Abhängigkeit und erzeugen keine Dateien. Die echte Integration wird
zusätzlich mit nativer Ausführung und einem quellfreien TBL-Verbraucher
geprüft. Format und CLI-Beispiele: [P-Code-Bibliotheken](pcode-bibliotheken.md).
Die vollständige Zielsystem-/Terminalmatrix folgt gemäß [PLAN.md](../PLAN.md).
## Befehlsabdeckung nach Change 07
@@ -141,7 +152,7 @@ Output-Fokus unterbricht Ctrl+C sofort die Sitzung, ohne eine BASIC-Taste einzur
| Edit | Undo, Cut/Copy/Paste/Clear, New Sub/Function, Event Procedures | — |
| View | Code/Form-Auswahl, Prozedurauswahl, Included File/Lines, Diagnostics, Designer Menu Bar/Value-Fokus, Grid Lines, Output Screen, Next Statement | — |
| Search | Find, Selected Text, Repeat Last Find, Change | — |
| Run | Start/Restart/Continue/Pause, COMMAND$, wirksame Startdatei und beide Make-Dialoge | Native Erzeugung: Phase 6 |
| Run | Start/Restart/Continue/Pause, COMMAND$, wirksame Startdatei und beide Make-Dialoge | Echte EXE-/TBL-Erzeugung; Vierzielabnahme in Phase 6 |
| Debug | Breakpoints, Schritte, Calls, Watches/Watchpoints, Direktfenster, Trace/History, Break on Errors und Set Next Statement | — |
| Options | Display, Set Paths, Right Mouse, Save, Syntax Checking einschließlich Zeilenprüfung | — |
| Window | New Window, Arrange All, Calls/Debug/Help/Immediate/Output/Project, aktive Codeliste, alle Fensterkürzel | — |