Type a repeat delay as whole milliseconds

The two On key down fields read in milliseconds now, and say so in their
labels. A number field shows three decimals unless a property asks for
fewer, so both params set decimals: 0 – the field reads 300, not 300.000,
and rounds to whole milliseconds while typing or scrubbing. The clock
behind it still counts seconds; the conversion sits at the one place that
reads the properties.
This commit is contained in:
root committed 2026-09-10 05:59:39 +02:00
1 parent 3ab8d88ad6
commit 338ff4389f
3 files changed
+44 -10

No files matched your search

+9 -8
View File
@@ -28,6 +28,10 @@ Beide Felder sind **Millisekunden** — damit bleiben die ueblichen Werte ganze
statt 0,3 und 0,05. Die Uhr dahinter rechnet weiter in Sekunden; umgerechnet wird beim Auslesen
der Node-Properties.
Beide tragen `decimals: 0`: das Inspector-Zahlenfeld zeigt sonst immer drei Nachkommastellen
(`NUMBER_DECIMALS`), also stand dort `300.000`. Der Node-Koerper war davon nie betroffen —
`formatValue` gibt ganze Zahlen bar aus.
Der erste Druck feuert immer sofort und unveraendert — die Wiederholung haengt nur hinten dran.
### Warum das nicht der Auto-Repeat des Browsers ist
@@ -63,19 +67,16 @@ Zwei `On key down` auf **derselben** Taste, einer schlicht, einer wiederholend
Halten misst beide, damit "es hat wiederholt" nicht mit "die Taste kam oefter an" verwechselt
werden kann.
Die folgende Ausgabe stammt aus dem Lauf **vor** der Umstellung auf Millisekunden (daher `0.300` /
`0.050` / `0.75 s`); das Modul tippt jetzt `300`, `50` und `750`. Der Nachlauf steht aus.
```
PASS a hold shorter than the delay fires once, repeat or not
– plain 0 → 1, repeating 0 → 1 over 120 ms with a 0.3 s delay
– plain 0 → 1, repeating 0 → 1 over 120 ms with a 300 ms delay
PASS holding past the delay keeps the repeating node firing, while the plain one counts one press
– plain +1, repeating +11 over 800 ms (press + ~10 repeats expected)
– plain +1, repeating +12 over 800 ms (press + ~10 repeats expected)
PASS a node with no repeat set carries no repeat rows, the repeating one carries both
– plain ["Key: Right arrow"], repeating [… "Repeat after (s): 0.300", "Repeat interval (s): 0.050"]
PASS typing a new delay lands on the node
– plain ["Key: Right arrow"], repeating [… "Repeat after (ms): 300", "Repeat interval (ms): 50"]
PASS typing a new delay lands on the node – {"key":"ArrowRight","repeatAfter":750,"repeatInterval":50}
PASS the delay typed into the inspector is the one the run uses
– repeating 0 → 1 over 500 ms with the delay raised to 0.75 s
– repeating 0 → 1 over 500 ms with the delay raised to 750 ms
```
Der letzte ist der wichtigste: derselbe Graph, nur die getippte Zahl geaendert — und der Node