Files
TerminalBasic/openspec/changes/phase-6-02-native-executables/proposal.md

26 lines
1.6 KiB
Markdown

## Why
`tbc build` erzeugt bisher ausschließlich TBC; ein vorkompiliertes `tbrt` existiert noch nicht. Phase 6 muss daraus direkt ausführbare Terminalprogramme machen, die ohne Quellen, separat installiertes tb/tbc oder Compiler-/Linker-Toolchain beim Anwender laufen und erzeugt werden können.
## What Changes
- `tbc build --exe` und einen gemeinsamen Exportpfad mit geprüften `tbrt`-Vorlagen, eingebettetem Projekt und sicherer Zieldateierzeugung einführen; bestehendes `tbc build` bleibt TBC.
- `tbrt` enthält nativ kompilierte VM, Runtime und Terminal-/Forms-Unterstützung; BASIC bleibt eingebetteter P-Code.
- Native Terminal-Executables für Windows amd64, macOS arm64, Linux amd64 und Linux arm64 erzeugen.
- Dieselbe VM-/Forms-/Host-/RUN-Semantik wie beim CLI verwenden; Container, Runtime-Version und tatsächliches Ziel prüfen.
- Vorlagenherstellung und native Tests vorbereiten; die vollständige Gitea-Artefaktproduktion übernimmt Change 06, die IDE-Anbindung 04.
## Capabilities
### New Capabilities
- `native-executables`: Toolchainfreie Verpackung und eigenständige Ausführung nativer Terminalprogramme.
### Modified Capabilities
Keine. TBC bleibt ein gesondertes Ausgabeformat mit unverändertem Sprachvertrag.
## Impact
CLI-Build-/Runnerpfad in `crates/tb-cli/src/main.rs`, gemeinsame Projekt-/VM-Erzeugung, neuer wiederverwendbarer Export-/Runnerbereich, Release-Vorlagen und native Prozessprüfungen. Keine LLVM-/JIT-Umstellung. Referenzfälle aus [01](../phase-6-01-kompatibilitaet-und-leistungsabnahme/proposal.md); Auslieferung in 06. Der gleiche Exportvertrag wird von 03 und 04 verwendet.