Zeichenwerkzeug-Zifferntasten: 1 (Text) und 3 (Kreis) fehlten in der

Shortcut-Map, obwohl beide Befehle längst fertig implementiert waren.

Zusätzlich musste man nach jedem gesetzten Punkt Esc drücken, bevor eine
Zifferntaste das nächste Werkzeug wählte — der Fokus blieb im Befehlsfeld
hängen (dort wird nach Abschluss nicht mehr geblurred) und die globale
Kürzel-Prüfung ignorierte jede Eingabe im Feld pauschal. Jetzt gibt die
Engine den Fokus frei, sobald ein Befehl fertig ist (Commit/Abbruch), und
eine Zifferntaste wählt direkt das nächste Werkzeug (Vectorworks-Stil) —
aber nur, wenn das Feld leer ist UND der aktuelle Schritt weder Tab-Felder
noch Freitext erwartet (Textlabel-Eingabe wie „Raum 101" bleibt geschützt).
This commit is contained in:
2026-07-31 17:00:57 +02:00
parent b56095da80
commit 327b7d3148
3 changed files with 56 additions and 11 deletions
+11
View File
@@ -168,6 +168,17 @@ export class CommandEngine {
return this.currentFields().length > 0;
}
/**
* Erwartet der aktuelle Schritt freien Text (z. B. das Textwerkzeug-Label)?
* Dort ist JEDE Taste — auch Ziffern — literaler Inhalt, im Unterschied zu
* einem reinen Punkt-Pick-Schritt (nur „point"/„number", keine Felder), wo
* Ziffern ansonsten ungenutzt sind.
*/
acceptsFreeText(): boolean {
if (!this.command || !this.state) return false;
return this.command.accepts(this.state).includes("text");
}
/**
* Setzt den Feld-Zustand zurück, wenn der Schritt wechselt — Signatur =
* phase + Feld-IDs + lastPoint. Der lastPoint-Teil sorgt dafür, dass ein