take4-console 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/README.md +3 -2
- package/dist/Screen/Screen.d.mts +40 -0
- package/dist/Screen/Screen.d.mts.map +1 -1
- package/dist/Screen/Screen.mjs +148 -1
- package/dist/Screen/Screen.mjs.map +1 -1
- package/dist/Screen/Window.d.mts +50 -1
- package/dist/Screen/Window.d.mts.map +1 -1
- package/dist/Screen/Window.mjs +176 -19
- package/dist/Screen/Window.mjs.map +1 -1
- package/dist/Screen/WindowManager.d.mts.map +1 -1
- package/dist/Screen/WindowManager.mjs +11 -0
- package/dist/Screen/WindowManager.mjs.map +1 -1
- package/dist/Screen/controls/BarChart.d.mts.map +1 -1
- package/dist/Screen/controls/BarChart.mjs +3 -0
- package/dist/Screen/controls/BarChart.mjs.map +1 -1
- package/dist/Screen/controls/Checkbox.d.mts.map +1 -1
- package/dist/Screen/controls/Checkbox.mjs +4 -0
- package/dist/Screen/controls/Checkbox.mjs.map +1 -1
- package/dist/Screen/controls/LineChart.d.mts.map +1 -1
- package/dist/Screen/controls/LineChart.mjs +3 -0
- package/dist/Screen/controls/LineChart.mjs.map +1 -1
- package/dist/Screen/controls/ListBox.d.mts.map +1 -1
- package/dist/Screen/controls/ListBox.mjs +9 -0
- package/dist/Screen/controls/ListBox.mjs.map +1 -1
- package/dist/Screen/controls/ProgressBar.d.mts.map +1 -1
- package/dist/Screen/controls/ProgressBar.mjs +2 -0
- package/dist/Screen/controls/ProgressBar.mjs.map +1 -1
- package/dist/Screen/controls/ProgressBarV.d.mts.map +1 -1
- package/dist/Screen/controls/ProgressBarV.mjs +2 -0
- package/dist/Screen/controls/ProgressBarV.mjs.map +1 -1
- package/dist/Screen/controls/Radio.d.mts.map +1 -1
- package/dist/Screen/controls/Radio.mjs +7 -1
- package/dist/Screen/controls/Radio.mjs.map +1 -1
- package/dist/Screen/controls/Sparkline.d.mts.map +1 -1
- package/dist/Screen/controls/Sparkline.mjs +3 -0
- package/dist/Screen/controls/Sparkline.mjs.map +1 -1
- package/dist/Screen/controls/Spinner.d.mts.map +1 -1
- package/dist/Screen/controls/Spinner.mjs +8 -0
- package/dist/Screen/controls/Spinner.mjs.map +1 -1
- package/dist/Screen/controls/StatusLED.d.mts.map +1 -1
- package/dist/Screen/controls/StatusLED.mjs +3 -0
- package/dist/Screen/controls/StatusLED.mjs.map +1 -1
- package/dist/Screen/controls/Tabs.d.mts.map +1 -1
- package/dist/Screen/controls/Tabs.mjs +2 -0
- package/dist/Screen/controls/Tabs.mjs.map +1 -1
- package/dist/Screen/controls/TextArea.d.mts.map +1 -1
- package/dist/Screen/controls/TextArea.mjs +11 -0
- package/dist/Screen/controls/TextArea.mjs.map +1 -1
- package/dist/Screen/controls/TextBox.d.mts.map +1 -1
- package/dist/Screen/controls/TextBox.mjs +13 -0
- package/dist/Screen/controls/TextBox.mjs.map +1 -1
- package/dist/Screen/types.d.mts +26 -0
- package/dist/Screen/types.d.mts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/Screen/Screen.mts +148 -2
- package/src/Screen/Window.mts +165 -16
- package/src/Screen/WindowManager.mts +11 -0
- package/src/Screen/controls/BarChart.mts +3 -0
- package/src/Screen/controls/Checkbox.mts +3 -0
- package/src/Screen/controls/LineChart.mts +3 -0
- package/src/Screen/controls/ListBox.mts +8 -0
- package/src/Screen/controls/ProgressBar.mts +2 -0
- package/src/Screen/controls/ProgressBarV.mts +2 -0
- package/src/Screen/controls/Radio.mts +6 -1
- package/src/Screen/controls/Sparkline.mts +3 -0
- package/src/Screen/controls/Spinner.mts +6 -0
- package/src/Screen/controls/StatusLED.mts +2 -0
- package/src/Screen/controls/Tabs.mts +2 -0
- package/src/Screen/controls/TextArea.mts +10 -0
- package/src/Screen/controls/TextBox.mts +12 -0
- package/src/Screen/types.mts +27 -0
- package/src/demo.mts +51 -0
- package/src/index.mts +1 -0
package/dist/Screen/Window.mjs
CHANGED
|
@@ -143,6 +143,25 @@ export class Window {
|
|
|
143
143
|
onFocusHandler;
|
|
144
144
|
/** Fires once when focused state flips from true to false. */
|
|
145
145
|
onBlurHandler;
|
|
146
|
+
/** Parent window (set by `addChild`, cleared by `removeChild`). Damage
|
|
147
|
+
* tracking walks up this chain to notify the root `Screen` of geometry
|
|
148
|
+
* or topology changes that need a full repaint. */
|
|
149
|
+
parent = null;
|
|
150
|
+
/** Accumulated dirty region in this window's local coordinates.
|
|
151
|
+
* - `null` — nothing changed since the last emit.
|
|
152
|
+
* - `'all'` — the whole window area needs to be re-emitted.
|
|
153
|
+
* - `DirtyRect` — bounding box of localised writes; `markDirty()` eagerly
|
|
154
|
+
* unions new rects so we only ever carry one rect per window.
|
|
155
|
+
* Windows start as `'all'` so the very first frame re-emits every cell. */
|
|
156
|
+
dirtyRect = 'all';
|
|
157
|
+
/** Depth of nested `Window.render()` calls currently executing. Increments
|
|
158
|
+
* at the top of every `render()` and decrements in a `finally`, so
|
|
159
|
+
* controls whose `render()` override re-writes content via `this.clear()`
|
|
160
|
+
* / `this.writeText(...)` do not re-mark themselves dirty every frame —
|
|
161
|
+
* render-time writes deterministically rebuild the display buffer from
|
|
162
|
+
* existing state, so marking them as "user-driven dirty" would defeat the
|
|
163
|
+
* "skip frame when nothing changed" optimisation. */
|
|
164
|
+
static renderingDepth = 0;
|
|
146
165
|
/** Creates a window from the given properties.
|
|
147
166
|
* For percentage-based sizes, call addChild() before writing content to the window.
|
|
148
167
|
* Uses the global StyleRegistry set by the Screen constructor. */
|
|
@@ -191,6 +210,91 @@ export class Window {
|
|
|
191
210
|
getSize() {
|
|
192
211
|
return this.region.getSize();
|
|
193
212
|
}
|
|
213
|
+
// ── Damage tracking ─────────────────────────────────────────────────────
|
|
214
|
+
/** Marks this window (or a sub-rectangle in its local coordinates) as
|
|
215
|
+
* dirty. Subsequent `Screen.render()` calls emit ANSI only for cells
|
|
216
|
+
* inside the collected dirty rects, skipping untouched regions. When
|
|
217
|
+
* `rect` is omitted, the entire window is flagged. Render-time writes
|
|
218
|
+
* are ignored so controls' `render()` overrides do not re-mark
|
|
219
|
+
* themselves every frame. Safe to call many times between renders —
|
|
220
|
+
* new rects are unioned into the existing bounding box. */
|
|
221
|
+
markDirty(rect) {
|
|
222
|
+
if (Window.renderingDepth > 0)
|
|
223
|
+
return;
|
|
224
|
+
if (this.dirtyRect === 'all')
|
|
225
|
+
return;
|
|
226
|
+
if (rect === undefined) {
|
|
227
|
+
this.dirtyRect = 'all';
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (rect.w <= 0 || rect.h <= 0)
|
|
231
|
+
return;
|
|
232
|
+
if (this.dirtyRect === null) {
|
|
233
|
+
this.dirtyRect = { x: rect.x, y: rect.y, w: rect.w, h: rect.h };
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
const ax0 = this.dirtyRect.x;
|
|
237
|
+
const ay0 = this.dirtyRect.y;
|
|
238
|
+
const ax1 = ax0 + this.dirtyRect.w;
|
|
239
|
+
const ay1 = ay0 + this.dirtyRect.h;
|
|
240
|
+
const bx0 = rect.x;
|
|
241
|
+
const by0 = rect.y;
|
|
242
|
+
const bx1 = bx0 + rect.w;
|
|
243
|
+
const by1 = by0 + rect.h;
|
|
244
|
+
const nx0 = Math.min(ax0, bx0);
|
|
245
|
+
const ny0 = Math.min(ay0, by0);
|
|
246
|
+
const nx1 = Math.max(ax1, bx1);
|
|
247
|
+
const ny1 = Math.max(ay1, by1);
|
|
248
|
+
this.dirtyRect = { x: nx0, y: ny0, w: nx1 - nx0, h: ny1 - ny0 };
|
|
249
|
+
}
|
|
250
|
+
/** Convenience alias — flags the entire window as dirty. Equivalent to
|
|
251
|
+
* calling `markDirty()` with no argument; kept as a named entry point
|
|
252
|
+
* so custom controls can invalidate themselves without depending on
|
|
253
|
+
* the default-argument behaviour. */
|
|
254
|
+
invalidate() {
|
|
255
|
+
this.markDirty();
|
|
256
|
+
}
|
|
257
|
+
/** Walks the parent chain up to the root window. Damage tracking uses
|
|
258
|
+
* this to bubble a full-invalidation signal to the root `Screen` when
|
|
259
|
+
* geometry or tree topology changes, because the cells previously
|
|
260
|
+
* occupied by a now-moved / resized / hidden window need to be repainted
|
|
261
|
+
* from the content underneath them. `Screen` overrides it to toggle its
|
|
262
|
+
* internal full-repaint flag; plain `Window`s forward the call up. */
|
|
263
|
+
markFullInvalidation() {
|
|
264
|
+
this.parent?.markFullInvalidation();
|
|
265
|
+
}
|
|
266
|
+
/** Appends this window's dirty rect (translated into screen coordinates
|
|
267
|
+
* via the running offset) and every descendant's dirty rects to `acc`.
|
|
268
|
+
* Hidden subtrees are skipped — invisible windows don't contribute to
|
|
269
|
+
* the emit phase, and any state change that flips visibility already
|
|
270
|
+
* escalated to a full invalidation so the vacated area repaints. */
|
|
271
|
+
collectDirtyRects(offsetX, offsetY, acc) {
|
|
272
|
+
if (!this.visible)
|
|
273
|
+
return;
|
|
274
|
+
if (this.dirtyRect === 'all') {
|
|
275
|
+
const { width, height } = this.getSize();
|
|
276
|
+
acc.push({ x: offsetX, y: offsetY, w: width, h: height });
|
|
277
|
+
}
|
|
278
|
+
else if (this.dirtyRect !== null) {
|
|
279
|
+
acc.push({
|
|
280
|
+
x: offsetX + this.dirtyRect.x,
|
|
281
|
+
y: offsetY + this.dirtyRect.y,
|
|
282
|
+
w: this.dirtyRect.w,
|
|
283
|
+
h: this.dirtyRect.h,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
for (const child of this.children) {
|
|
287
|
+
child.collectDirtyRects(offsetX + child.x, offsetY + child.y, acc);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/** Clears the dirty flag on this window and every descendant. Called by
|
|
291
|
+
* `Screen.render()` after the emit phase so the next frame starts from
|
|
292
|
+
* a clean slate. */
|
|
293
|
+
clearDirtyRecursive() {
|
|
294
|
+
this.dirtyRect = null;
|
|
295
|
+
for (const child of this.children)
|
|
296
|
+
child.clearDirtyRecursive();
|
|
297
|
+
}
|
|
194
298
|
/** Returns a snapshot of the resolved per-side margin (in cells). The parent's
|
|
195
299
|
* layout engine reads this to reserve outer spacing around the child. */
|
|
196
300
|
getMargin() {
|
|
@@ -238,7 +342,10 @@ export class Window {
|
|
|
238
342
|
}
|
|
239
343
|
/** Sets the active state. Affects border and background appearance on next render(). */
|
|
240
344
|
setActive(active) {
|
|
345
|
+
if (this.active === active)
|
|
346
|
+
return;
|
|
241
347
|
this.active = active;
|
|
348
|
+
this.markDirty();
|
|
242
349
|
}
|
|
243
350
|
/** Sets the focused state. Controls use this to change visual appearance on focus.
|
|
244
351
|
* Fires `onFocus` / `onBlur` (configured via `WindowProperties`) when the state
|
|
@@ -247,6 +354,7 @@ export class Window {
|
|
|
247
354
|
if (this.focused === focused)
|
|
248
355
|
return;
|
|
249
356
|
this.focused = focused;
|
|
357
|
+
this.markDirty();
|
|
250
358
|
if (focused)
|
|
251
359
|
this.onFocusHandler?.();
|
|
252
360
|
else
|
|
@@ -281,7 +389,14 @@ export class Window {
|
|
|
281
389
|
* change. Does not affect layout (flex/absolute coordinates are
|
|
282
390
|
* independent of z). */
|
|
283
391
|
setZIndex(zIndex) {
|
|
392
|
+
if (this.zIndex === zIndex)
|
|
393
|
+
return;
|
|
284
394
|
this.zIndex = zIndex;
|
|
395
|
+
// Re-stacking can expose or occlude any cell inside the parent's
|
|
396
|
+
// bounds — escalate to a full repaint so the neighbour(s) underneath
|
|
397
|
+
// get re-emitted along with this window.
|
|
398
|
+
this.markFullInvalidation();
|
|
399
|
+
this.markDirty();
|
|
285
400
|
}
|
|
286
401
|
/** Returns the direct children of this window in insertion order (a
|
|
287
402
|
* read-only view). WindowManager uses this to walk subtrees for
|
|
@@ -295,6 +410,8 @@ export class Window {
|
|
|
295
410
|
}
|
|
296
411
|
/** Sets the disabled state and deactivates the window when disabled. */
|
|
297
412
|
setDisabled(disabled) {
|
|
413
|
+
if (this.disabled !== disabled)
|
|
414
|
+
this.markDirty();
|
|
298
415
|
this.disabled = disabled;
|
|
299
416
|
this.setActive(!disabled);
|
|
300
417
|
}
|
|
@@ -308,7 +425,15 @@ export class Window {
|
|
|
308
425
|
* the content buffer — previously written cells reappear verbatim on the
|
|
309
426
|
* next render after the window is shown again. */
|
|
310
427
|
setVisible(visible) {
|
|
428
|
+
if (this.visible === visible)
|
|
429
|
+
return;
|
|
311
430
|
this.visible = visible;
|
|
431
|
+
// Showing / hiding a window changes what the root Screen emits in this
|
|
432
|
+
// window's old bounds (the parent below may need to repaint, or the
|
|
433
|
+
// new reveal needs its first emit). Full invalidation is the
|
|
434
|
+
// conservative, always-correct choice.
|
|
435
|
+
this.markFullInvalidation();
|
|
436
|
+
this.markDirty();
|
|
312
437
|
}
|
|
313
438
|
/** Returns whether this window is currently visible. Default: true. */
|
|
314
439
|
isVisible() {
|
|
@@ -316,7 +441,10 @@ export class Window {
|
|
|
316
441
|
}
|
|
317
442
|
/** Sets the label text displayed by the control. */
|
|
318
443
|
setLabel(label) {
|
|
444
|
+
if (this.label === label)
|
|
445
|
+
return;
|
|
319
446
|
this.label = label;
|
|
447
|
+
this.markDirty();
|
|
320
448
|
}
|
|
321
449
|
/** Returns the current label text. */
|
|
322
450
|
getLabel() {
|
|
@@ -326,6 +454,7 @@ export class Window {
|
|
|
326
454
|
* Intended for use by subclasses that need dynamic decoration (e.g. focus-state colour). */
|
|
327
455
|
updateBorder(border) {
|
|
328
456
|
this.border = resolveBorder(border);
|
|
457
|
+
this.markDirty();
|
|
329
458
|
}
|
|
330
459
|
/** Recomputes the border color from the current focused/disabled state.
|
|
331
460
|
* Called automatically at the start of render() so subclasses never need to do it manually.
|
|
@@ -347,7 +476,13 @@ export class Window {
|
|
|
347
476
|
* geometry consistent when more children join the stack. */
|
|
348
477
|
addChild(child) {
|
|
349
478
|
this.children.push(child);
|
|
479
|
+
child.parent = this;
|
|
350
480
|
this.runLayout();
|
|
481
|
+
// Newly attached subtrees may overlap existing cells, and their own
|
|
482
|
+
// `dirtyRect` already defaults to `'all'` — but the parent region that
|
|
483
|
+
// may be exposed by later removal needs a correct baseline on the root
|
|
484
|
+
// Screen side, so we bubble a full invalidation for the first frame.
|
|
485
|
+
this.markFullInvalidation();
|
|
351
486
|
}
|
|
352
487
|
/** Returns a resolved Cell (char + CellAttributes) at (x, y) from the display buffer.
|
|
353
488
|
* Throws RangeError if out of bounds. Throws Error when the window is
|
|
@@ -366,11 +501,13 @@ export class Window {
|
|
|
366
501
|
setChar(x, y, char) {
|
|
367
502
|
this.content.setChar(x, y, char);
|
|
368
503
|
this.region.setChar(x, y, char);
|
|
504
|
+
this.markDirty({ x, y, w: 1, h: 1 });
|
|
369
505
|
}
|
|
370
506
|
/** Sets the character and style ID at (x, y). Throws RangeError if out of bounds. */
|
|
371
507
|
setCell(x, y, char, styleId = 0) {
|
|
372
508
|
this.content.setCell(x, y, char, styleId);
|
|
373
509
|
this.region.setCell(x, y, char, styleId);
|
|
510
|
+
this.markDirty({ x, y, w: 1, h: 1 });
|
|
374
511
|
}
|
|
375
512
|
/** Merges the given style ID onto the existing style at (x, y) without changing the character.
|
|
376
513
|
* Throws RangeError if out of bounds. */
|
|
@@ -379,16 +516,19 @@ export class Window {
|
|
|
379
516
|
const mergedRegion = this.registry.merge(this.region.getStyleId(x, y), styleId);
|
|
380
517
|
this.content.setStyleId(x, y, mergedContent);
|
|
381
518
|
this.region.setStyleId(x, y, mergedRegion);
|
|
519
|
+
this.markDirty({ x, y, w: 1, h: 1 });
|
|
382
520
|
}
|
|
383
521
|
/** Resets every cell to a blank space with style ID 0. */
|
|
384
522
|
clear() {
|
|
385
523
|
this.content.clear();
|
|
386
524
|
this.region.clear();
|
|
525
|
+
this.markDirty();
|
|
387
526
|
}
|
|
388
527
|
/** Fills every cell with the given character and style ID. */
|
|
389
528
|
fill(char, styleId = 0) {
|
|
390
529
|
this.content.fill(char, styleId);
|
|
391
530
|
this.region.fill(char, styleId);
|
|
531
|
+
this.markDirty();
|
|
392
532
|
}
|
|
393
533
|
/** Writes text into the window's content area starting at (x, y) (default 0, 0).
|
|
394
534
|
* Coordinates are relative to the inner content area (i.e. decorations such as borders are excluded).
|
|
@@ -534,26 +674,32 @@ export class Window {
|
|
|
534
674
|
render() {
|
|
535
675
|
if (!this.visible)
|
|
536
676
|
return;
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
handler(
|
|
553
|
-
|
|
554
|
-
|
|
677
|
+
Window.renderingDepth++;
|
|
678
|
+
try {
|
|
679
|
+
this.syncBorderColor();
|
|
680
|
+
this.paintBackground();
|
|
681
|
+
this.blitContent();
|
|
682
|
+
this.paintBorder();
|
|
683
|
+
for (const child of this.orderedByZ()) {
|
|
684
|
+
if (!child.visible)
|
|
685
|
+
continue;
|
|
686
|
+
try {
|
|
687
|
+
child.render();
|
|
688
|
+
this.blitChild(child);
|
|
689
|
+
}
|
|
690
|
+
catch (err) {
|
|
691
|
+
this.paintErrorPlaceholder(child, err);
|
|
692
|
+
const handler = getErrorHandler();
|
|
693
|
+
if (handler)
|
|
694
|
+
handler(err, child);
|
|
695
|
+
else
|
|
696
|
+
throw err;
|
|
697
|
+
}
|
|
555
698
|
}
|
|
556
699
|
}
|
|
700
|
+
finally {
|
|
701
|
+
Window.renderingDepth--;
|
|
702
|
+
}
|
|
557
703
|
}
|
|
558
704
|
/** Returns direct children sorted for rendering — stable by (zIndex asc,
|
|
559
705
|
* insertion order). Children with higher zIndex paint last, so they
|
|
@@ -722,14 +868,25 @@ export class Window {
|
|
|
722
868
|
/** Removes a previously added child window. No-op if the child is not found. */
|
|
723
869
|
removeChild(child) {
|
|
724
870
|
const idx = this.children.indexOf(child);
|
|
725
|
-
if (idx !== -1)
|
|
871
|
+
if (idx !== -1) {
|
|
726
872
|
this.children.splice(idx, 1);
|
|
873
|
+
child.parent = null;
|
|
874
|
+
// The vacated rectangle has to be re-emitted from the content
|
|
875
|
+
// underneath — escalate so the root Screen repaints everything.
|
|
876
|
+
this.markFullInvalidation();
|
|
877
|
+
}
|
|
727
878
|
}
|
|
728
879
|
/** Replaces both internal regions with new ones of the given dimensions,
|
|
729
880
|
* then re-resolves sizes and positions of all direct children against the updated inner area. */
|
|
730
881
|
resizeRegions(w, h) {
|
|
731
882
|
this.region = new Region(w, h);
|
|
732
883
|
this.content = new Region(w, h);
|
|
884
|
+
// A new region invalidates any per-cell dirty bookkeeping from the
|
|
885
|
+
// previous size — escalate to a full-window repaint and ask the
|
|
886
|
+
// Screen to emit from scratch because the old footprint on stdout
|
|
887
|
+
// may include cells that are no longer part of this window.
|
|
888
|
+
this.dirtyRect = 'all';
|
|
889
|
+
this.markFullInvalidation();
|
|
733
890
|
this.reflowChildren();
|
|
734
891
|
}
|
|
735
892
|
/** Resizes this window to the given absolute dimensions and reflows every
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.mjs","sourceRoot":"","sources":["../../src/Screen/Window.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Window.mjs","sourceRoot":"","sources":["../../src/Screen/Window.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowManager.d.mts","sourceRoot":"","sources":["../../src/Screen/WindowManager.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WindowManager.d.mts","sourceRoot":"","sources":["../../src/Screen/WindowManager.mts"],"names":[],"mappings":"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"}
|
|
@@ -542,6 +542,10 @@ export class WindowManager {
|
|
|
542
542
|
// Restore the blink timer with its previously configured cadence.
|
|
543
543
|
this.installBlinkTimer();
|
|
544
544
|
if (options?.rerender !== false) {
|
|
545
|
+
// The paused interval may have reflowed via external writes
|
|
546
|
+
// (e.g. another process scribbled onto stdout), so schedule a
|
|
547
|
+
// full repaint instead of relying on cached dirty rects.
|
|
548
|
+
this.screen.invalidate();
|
|
545
549
|
this.renderFrame();
|
|
546
550
|
}
|
|
547
551
|
}
|
|
@@ -583,6 +587,13 @@ export class WindowManager {
|
|
|
583
587
|
// and the terminal might be owned by a sub-process.
|
|
584
588
|
if (this.paused)
|
|
585
589
|
return;
|
|
590
|
+
// A blink tick is a pure time-driven change: no user input
|
|
591
|
+
// modified any state, so damage tracking would otherwise skip
|
|
592
|
+
// the frame entirely and the cursor would never visually blink.
|
|
593
|
+
// Flag the focused control dirty (if any) so its render() path
|
|
594
|
+
// re-emits the TextBox / TextArea row with the new cursor
|
|
595
|
+
// phase; when nothing is focused the frame is still skipped.
|
|
596
|
+
this.getFocused()?.markDirty();
|
|
586
597
|
this.renderFrame();
|
|
587
598
|
}, this.blinkIntervalMs);
|
|
588
599
|
// Don't keep the Node event loop alive just for cursor blinks.
|