PLAN: verschobene Inventarelemente als eigene Punkte
Befund bei der Durchsicht nach Phase 3: von den 15 offenen
Inventarelementen standen 15 nur als Fliesstextverweis im Plan
("13 Forms und Ereignissteuerung (Phase 4) sowie RUN und $INCLUDE
(Phase 5)"), aber in keiner Zielphase als abhakbare Aufgabe. Damit waeren
sie beim Abarbeiten von Phase 4 und 5 durchgefallen.
Ergaenzt
- Phase 4: klassische Ereignis-Traps (ON TIMER/KEY/UEVENT/SIGNAL mit
GOSUB, die Steueranweisungen mit ON/OFF/STOP, EVENT, SetUEvent) --
10 Eintraege. Sie haengen an der Ereignisschleife, nicht an den
Steuerelementen, und die vorhandenen Punkte decken nur den
Forms-Ereignisdispatch ab
- Phase 4: die vordefinierten Dialoge MSGBOX (Anweisung und Funktion)
und INPUTBOX$ -- 3 Eintraege. Sie stehen in keiner Steuerelementliste
- Phase 5: $INCLUDE im Compile-Treiber aufloesen -- 1 Eintrag
- Phase 5: RUN ueber den Zuruecksetzpfad der VM -- 1 Eintrag
- Phase 6: die unter "Vollstaendigkeit ist das Soll" versprochene Abnahme
des Inventars (0 offen) war als Abnahmekriterium angekuendigt, aber nie
als Punkt gefuehrt
Prozessregel in der Leitplanke: wird ein Inventareintrag in eine spaetere
Phase verlegt, MUSS er dort als eigene Aufgabe stehen -- ein Verweis im
Fliesstext genuegt nicht.
Eine Gegenprobe stellt jetzt jedes offene Inventarelement einer
Zielaufgabe gegenueber; alle 15 sind benannt.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
27
PLAN.md
27
PLAN.md
@@ -42,6 +42,10 @@ Konvention: `[ ]` offen · `[x]` erledigt · `[~]` in Arbeit
|
|||||||
Feature vorher vom Projektinhaber als Non-Feature deklariert und in der
|
Feature vorher vom Projektinhaber als Non-Feature deklariert und in der
|
||||||
Sprachreferenz unter „Abweichungen" gelistet wurde. Stilles Weglassen
|
Sprachreferenz unter „Abweichungen" gelistet wurde. Stilles Weglassen
|
||||||
oder generische Syntaxfehler für dokumentierte Features sind Bugs.
|
oder generische Syntaxfehler für dokumentierte Features sind Bugs.
|
||||||
|
**Verschobene Elemente brauchen einen eigenen Punkt** (2026-09-04): Wird
|
||||||
|
ein Inventareintrag von einer Phase in eine spätere verlegt, MUSS er dort
|
||||||
|
als eigene Aufgabe stehen. Ein Verweis im Fließtext („kommt mit Phase 4")
|
||||||
|
genügt nicht — nur was als Punkt in der Zielphase steht, wird abgearbeitet.
|
||||||
- **Markenrecht:** Der Name des Vorbilds wird in Code, Doku und Artefakten
|
- **Markenrecht:** Der Name des Vorbilds wird in Code, Doku und Artefakten
|
||||||
nicht verwendet. Wir sprechen vom „Vorbild" bzw. „dem Dialekt".
|
nicht verwendet. Wir sprechen vom „Vorbild" bzw. „dem Dialekt".
|
||||||
- **Performance ist Anforderung, nicht Politur** (2026-09-01):
|
- **Performance ist Anforderung, nicht Politur** (2026-09-01):
|
||||||
@@ -411,6 +415,17 @@ Maßgeblich ist seit 2026-09-03 das Inventar, nicht diese Liste.
|
|||||||
https://github.com/cout/vbdos ohne Non-Features kompilieren und
|
https://github.com/cout/vbdos ohne Non-Features kompilieren und
|
||||||
sind nutzbar (Konsolenprogramme bereits ab Phase 3)
|
sind nutzbar (Konsolenprogramme bereits ab Phase 3)
|
||||||
- [ ] Ereignisdispatch: Event-Queue ↔ VM (Ereignisprozeduren `Name_Ereignis`)
|
- [ ] Ereignisdispatch: Event-Queue ↔ VM (Ereignisprozeduren `Name_Ereignis`)
|
||||||
|
- [ ] **Klassische Ereignis-Traps** (ohne Forms, Sprachreferenz §8) —
|
||||||
|
`ON TIMER(n)`, `ON KEY(n)`, `ON UEVENT` und `ON SIGNAL(n)` je mit
|
||||||
|
`GOSUB label`, dazu die Steueranweisungen `TIMER`, `KEY(n)`,
|
||||||
|
`UEVENT`, `SIGNAL(n)` mit `ON`/`OFF`/`STOP`, das `EVENT`-Statement
|
||||||
|
und `SetUEvent`. Setzt die Ereignisschleife (erste Aufgabe dieser
|
||||||
|
Phase) voraus; `COM`/`PEN`/`PLAY`/`STRIG` bleiben Non-Feature
|
||||||
|
(Fehler 73). **10 Inventareinträge**
|
||||||
|
- [ ] **Vordefinierte Dialoge**: `MSGBOX` als Anweisung **und** als
|
||||||
|
Funktion (liefert die gedrückte Schaltfläche) sowie `INPUTBOX$`.
|
||||||
|
Sie hängen am Formularmodell, nicht an der Steuerelementliste, und
|
||||||
|
fallen deshalb sonst zwischen die Aufgaben. **3 Inventareinträge**
|
||||||
- [ ] Meilenstein: Beispiel-Formularprogramme aus dem Testkorpus laufen
|
- [ ] Meilenstein: Beispiel-Formularprogramme aus dem Testkorpus laufen
|
||||||
|
|
||||||
## Phase 5 — IDE (`tb-ide`)
|
## Phase 5 — IDE (`tb-ide`)
|
||||||
@@ -422,6 +437,13 @@ Maßgeblich ist seit 2026-09-03 das Inventar, nicht diese Liste.
|
|||||||
- [ ] Formular-Designer: Steuerelemente platzieren/verschieben/skalieren,
|
- [ ] Formular-Designer: Steuerelemente platzieren/verschieben/skalieren,
|
||||||
Eigenschaftenfenster
|
Eigenschaftenfenster
|
||||||
- [ ] Ausführen aus der IDE: Start/Unterbrechen/Fortsetzen/Neustart
|
- [ ] Ausführen aus der IDE: Start/Unterbrechen/Fortsetzen/Neustart
|
||||||
|
- [ ] **`$INCLUDE`** im Compile-Treiber auflösen — der Lexer liefert den
|
||||||
|
Metabefehl bereits als Token. Datei einlesen, Pfade relativ zur
|
||||||
|
einschließenden Datei, Zyklen erkennen und namentlich abweisen.
|
||||||
|
**1 Inventareintrag**
|
||||||
|
- [ ] **`RUN`** — Programm neu starten bzw. ein anderes laden und starten.
|
||||||
|
Nutzt denselben Zurücksetzpfad der VM wie „Neustart" oben.
|
||||||
|
**1 Inventareintrag**
|
||||||
- [ ] Debugger: Breakpoints, Einzelschritt/Prozedurschritt, Direktfenster,
|
- [ ] Debugger: Breakpoints, Einzelschritt/Prozedurschritt, Direktfenster,
|
||||||
Überwachungsausdrücke
|
Überwachungsausdrücke
|
||||||
- [ ] Hilfe-System: rendert die Markdown-Dokumentation aus `docs/`
|
- [ ] Hilfe-System: rendert die Markdown-Dokumentation aus `docs/`
|
||||||
@@ -443,6 +465,11 @@ Maßgeblich ist seit 2026-09-03 das Inventar, nicht diese Liste.
|
|||||||
ausführbares Programm (Bytecode + eingebetteter Runner)
|
ausführbares Programm (Bytecode + eingebetteter Runner)
|
||||||
- [ ] Dokumentation: Sprachreferenz, Migrationshinweise, Beispielprogramme
|
- [ ] Dokumentation: Sprachreferenz, Migrationshinweise, Beispielprogramme
|
||||||
- [ ] CI (GitHub Actions: Build + Tests auf allen drei Plattformen), Releases
|
- [ ] CI (GitHub Actions: Build + Tests auf allen drei Plattformen), Releases
|
||||||
|
- [ ] **Abnahme der Leitplanke „Vollständigkeit ist das Soll"**:
|
||||||
|
docs/inventar.md steht auf **0 offen** — jeder der 285 Einträge ist
|
||||||
|
entweder implementiert oder als Non-Feature in der Sprachreferenz
|
||||||
|
gelistet. Der Abgleichstest `inventar_stimmt_mit_code_ueberein` hält
|
||||||
|
das gegen den Code; hier wird es zum Abnahmekriterium.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user