take4-console 0.15.0 → 0.25.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 +365 -0
- package/README.md +1 -1
- package/dist/Screen/InterfaceBuilder.d.mts +15 -4
- package/dist/Screen/InterfaceBuilder.d.mts.map +1 -1
- package/dist/Screen/InterfaceBuilder.mjs +104 -8
- package/dist/Screen/InterfaceBuilder.mjs.map +1 -1
- package/dist/Screen/Pos.d.mts +12 -0
- package/dist/Screen/Pos.d.mts.map +1 -1
- package/dist/Screen/Pos.mjs +23 -1
- package/dist/Screen/Pos.mjs.map +1 -1
- package/dist/Screen/Screen.d.mts +77 -3
- package/dist/Screen/Screen.d.mts.map +1 -1
- package/dist/Screen/Screen.mjs +168 -3
- package/dist/Screen/Screen.mjs.map +1 -1
- package/dist/Screen/Size.d.mts +49 -6
- package/dist/Screen/Size.d.mts.map +1 -1
- package/dist/Screen/Size.mjs +81 -7
- package/dist/Screen/Size.mjs.map +1 -1
- package/dist/Screen/Window.d.mts +131 -20
- package/dist/Screen/Window.d.mts.map +1 -1
- package/dist/Screen/Window.mjs +474 -57
- package/dist/Screen/Window.mjs.map +1 -1
- package/dist/Screen/WindowManager.d.mts +85 -5
- package/dist/Screen/WindowManager.d.mts.map +1 -1
- package/dist/Screen/WindowManager.mjs +279 -26
- package/dist/Screen/WindowManager.mjs.map +1 -1
- package/dist/Screen/controls/ListBox.d.mts +34 -12
- package/dist/Screen/controls/ListBox.d.mts.map +1 -1
- package/dist/Screen/controls/ListBox.mjs +127 -25
- package/dist/Screen/controls/ListBox.mjs.map +1 -1
- package/dist/Screen/controls/TextArea.d.mts +15 -1
- package/dist/Screen/controls/TextArea.d.mts.map +1 -1
- package/dist/Screen/controls/TextArea.mjs +74 -1
- package/dist/Screen/controls/TextArea.mjs.map +1 -1
- package/dist/Screen/controls/TextBox.d.mts +13 -1
- package/dist/Screen/controls/TextBox.d.mts.map +1 -1
- package/dist/Screen/controls/TextBox.mjs +36 -1
- package/dist/Screen/controls/TextBox.mjs.map +1 -1
- package/dist/Screen/textWidth.d.mts +13 -0
- package/dist/Screen/textWidth.d.mts.map +1 -0
- package/dist/Screen/textWidth.mjs +188 -0
- package/dist/Screen/textWidth.mjs.map +1 -0
- package/dist/Screen/types.d.mts +336 -20
- package/dist/Screen/types.d.mts.map +1 -1
- package/dist/Screen/types.mjs.map +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/Screen/InterfaceBuilder.mts +116 -20
- package/src/Screen/Pos.mts +24 -1
- package/src/Screen/Screen.mts +192 -4
- package/src/Screen/Size.mts +97 -12
- package/src/Screen/Window.mts +463 -63
- package/src/Screen/WindowManager.mts +301 -29
- package/src/Screen/controls/ListBox.mts +151 -32
- package/src/Screen/controls/TextArea.mts +82 -1
- package/src/Screen/controls/TextBox.mts +40 -1
- package/src/Screen/textWidth.mts +186 -0
- package/src/Screen/types.mts +328 -23
- package/src/demo.mts +232 -20
- package/src/index.mts +23 -3
- package/src/layout.yaml +56 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceBuilder.mjs","sourceRoot":"","sources":["../../src/Screen/InterfaceBuilder.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InterfaceBuilder.mjs","sourceRoot":"","sources":["../../src/Screen/InterfaceBuilder.mts"],"names":[],"mappings":"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"}
|
package/dist/Screen/Pos.d.mts
CHANGED
|
@@ -35,6 +35,18 @@ export declare class Pos {
|
|
|
35
35
|
static right(y?: number | Pct): Pos;
|
|
36
36
|
/** Aligns the bottom edge with the parent's bottom edge; x sets horizontal position. */
|
|
37
37
|
static bottom(x?: number | Pct): Pos;
|
|
38
|
+
/** Marks the window as a flex-layout slot on both axes — the parent's layout
|
|
39
|
+
* engine (row / column / grid) decides the final position. The optional
|
|
40
|
+
* `order` controls the relative placement within the flex stack: children
|
|
41
|
+
* with a lower `order` appear earlier, ties broken by addChild insertion.
|
|
42
|
+
* Children without `Pos.flex()` in a flex parent are treated as order 0
|
|
43
|
+
* and fall back to insertion order, so authors can mix ordered and
|
|
44
|
+
* unordered children freely. Default `order`: 0. */
|
|
45
|
+
static flex(order?: number): Pos;
|
|
46
|
+
/** Returns the flex order when this Pos was produced via `Pos.flex(order)`,
|
|
47
|
+
* or `undefined` for every other position mode. Used by the layout engine
|
|
48
|
+
* to sort children. */
|
|
49
|
+
getFlexOrder(): number | undefined;
|
|
38
50
|
/** Returns true when both axes are absolute-from-start values (no parent/own-size needed). */
|
|
39
51
|
isAbsolute(): boolean;
|
|
40
52
|
/** Resolves absolute position without needing parent or own dimensions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pos.d.mts","sourceRoot":"","sources":["../../src/Screen/Pos.mts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,qBAAa,GAAG;aACoB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAChD;AAED,gEAAgE;AAChE,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAEtC;
|
|
1
|
+
{"version":3,"file":"Pos.d.mts","sourceRoot":"","sources":["../../src/Screen/Pos.mts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,qBAAa,GAAG;aACoB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAChD;AAED,gEAAgE;AAChE,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAEtC;AAuBD;kEACkE;AAClE,qBAAa,GAAG;IACf,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,KAAK,CAAW;IAExB;;;wEAGoE;gBACjD,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG;IAKnD,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,SAAS;IAOxB,2EAA2E;WAC7D,OAAO,IAAI,GAAG;IAI5B,sEAAsE;WACxD,QAAQ,IAAI,GAAG;IAI7B,0EAA0E;WAC5D,UAAU,IAAI,GAAG;IAI/B,4EAA4E;WAC9D,WAAW,IAAI,GAAG;IAIhC,yDAAyD;WAC3C,MAAM,IAAI,GAAG;IAI3B,kFAAkF;WACpE,GAAG,CAAC,CAAC,GAAE,MAAM,GAAG,GAAO,GAAG,GAAG;IAI3C,kFAAkF;WACpE,IAAI,CAAC,CAAC,GAAE,MAAM,GAAG,GAAO,GAAG,GAAG;IAI5C,oFAAoF;WACtE,KAAK,CAAC,CAAC,GAAE,MAAM,GAAG,GAAO,GAAG,GAAG;IAI7C,wFAAwF;WAC1E,MAAM,CAAC,CAAC,GAAE,MAAM,GAAG,GAAO,GAAG,GAAG;IAI9C;;;;;;yDAMqD;WACvC,IAAI,CAAC,KAAK,GAAE,MAAU,GAAG,GAAG;IAI1C;;4BAEwB;IACjB,YAAY,IAAI,MAAM,GAAG,SAAS;IAKzC,8FAA8F;IACvF,UAAU,IAAI,OAAO;IAI5B;oDACgD;IACzC,eAAe,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAOlD,mFAAmF;IAC5E,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAMtG"}
|
package/dist/Screen/Pos.mjs
CHANGED
|
@@ -17,13 +17,17 @@ function toAxisSpec(v) {
|
|
|
17
17
|
return { mode: 'end', value: -v };
|
|
18
18
|
return { mode: 'start', value: v };
|
|
19
19
|
}
|
|
20
|
-
/** Resolves a single axis spec to a pixel offset.
|
|
20
|
+
/** Resolves a single axis spec to a pixel offset. The 'flex' mode has no
|
|
21
|
+
* meaningful absolute resolution — the parent's layout engine overwrites
|
|
22
|
+
* child.x / child.y before blit, so this returns 0 as a safe fallback that
|
|
23
|
+
* keeps the value inside the region until the layout pass fires. */
|
|
21
24
|
function resolveAxis(spec, parentSize, ownSize) {
|
|
22
25
|
switch (spec.mode) {
|
|
23
26
|
case 'start': return spec.value;
|
|
24
27
|
case 'end': return parentSize - ownSize - spec.value;
|
|
25
28
|
case 'pct': return Math.floor(parentSize * spec.value / 100);
|
|
26
29
|
case 'center': return Math.floor((parentSize - ownSize) / 2);
|
|
30
|
+
case 'flex': return 0;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
/** Encodes a window position. Supports absolute coordinates, edge-relative (negative),
|
|
@@ -82,6 +86,24 @@ export class Pos {
|
|
|
82
86
|
static bottom(x = 0) {
|
|
83
87
|
return Pos.fromSpecs(toAxisSpec(x), { mode: 'end', value: 0 });
|
|
84
88
|
}
|
|
89
|
+
/** Marks the window as a flex-layout slot on both axes — the parent's layout
|
|
90
|
+
* engine (row / column / grid) decides the final position. The optional
|
|
91
|
+
* `order` controls the relative placement within the flex stack: children
|
|
92
|
+
* with a lower `order` appear earlier, ties broken by addChild insertion.
|
|
93
|
+
* Children without `Pos.flex()` in a flex parent are treated as order 0
|
|
94
|
+
* and fall back to insertion order, so authors can mix ordered and
|
|
95
|
+
* unordered children freely. Default `order`: 0. */
|
|
96
|
+
static flex(order = 0) {
|
|
97
|
+
return Pos.fromSpecs({ mode: 'flex', order }, { mode: 'flex', order });
|
|
98
|
+
}
|
|
99
|
+
/** Returns the flex order when this Pos was produced via `Pos.flex(order)`,
|
|
100
|
+
* or `undefined` for every other position mode. Used by the layout engine
|
|
101
|
+
* to sort children. */
|
|
102
|
+
getFlexOrder() {
|
|
103
|
+
if (this.xSpec.mode === 'flex')
|
|
104
|
+
return this.xSpec.order;
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
85
107
|
/** Returns true when both axes are absolute-from-start values (no parent/own-size needed). */
|
|
86
108
|
isAbsolute() {
|
|
87
109
|
return this.xSpec.mode === 'start' && this.ySpec.mode === 'start';
|
package/dist/Screen/Pos.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pos.mjs","sourceRoot":"","sources":["../../src/Screen/Pos.mts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,OAAO,GAAG;IACoB;IAAnC,YAAmC,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;CACpD;AAED,gEAAgE;AAChE,MAAM,UAAU,GAAG,CAAC,KAAa;IAChC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,mEAAmE;AACnE,SAAS,UAAU,CAAC,CAAe;IAClC,IAAI,CAAC,YAAY,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,IAAI,CAAC,GAAG,CAAC;QAAY,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"Pos.mjs","sourceRoot":"","sources":["../../src/Screen/Pos.mts"],"names":[],"mappings":"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"}
|
package/dist/Screen/Screen.d.mts
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
|
-
import type { CellAttributes, StyleId } from './types.mjs';
|
|
1
|
+
import type { CellAttributes, ScreenFrameStats, ScreenOptions, StyleId, TerminalSize } from './types.mjs';
|
|
2
2
|
import { StyleRegistry } from './StyleRegistry.mjs';
|
|
3
3
|
import { Window } from './Window.mjs';
|
|
4
4
|
export declare class Screen extends Window {
|
|
5
|
+
/** Internal event bus for 'resize' and 'frame' notifications. Composed
|
|
6
|
+
* rather than inherited so the Window class hierarchy stays plain. */
|
|
7
|
+
private events;
|
|
8
|
+
/** True while the alternate screen buffer is currently active. */
|
|
9
|
+
private altScreenActive;
|
|
10
|
+
/** True while the hardware cursor is currently hidden. */
|
|
11
|
+
private cursorHidden;
|
|
12
|
+
/** Soft FPS cap stored for inspection by consumers; full enforcement is P2-47. */
|
|
13
|
+
private targetFps;
|
|
14
|
+
/** Bound SIGWINCH listener (kept so we can detach it on dispose()). */
|
|
15
|
+
private boundSigwinch;
|
|
16
|
+
/** Bound 'exit' listener that runs synchronous terminal cleanup. */
|
|
17
|
+
private boundExit;
|
|
18
|
+
/** Whether the SIGWINCH + 'exit' listeners are currently attached. */
|
|
19
|
+
private signalsInstalled;
|
|
20
|
+
/** Whether dispose() has already restored terminal state. */
|
|
21
|
+
private disposed;
|
|
5
22
|
/** Initializes the root window sized to the current terminal dimensions.
|
|
6
23
|
* Creates a fresh StyleRegistry (with built-in styles pre-registered)
|
|
7
|
-
* and installs it as the global singleton.
|
|
8
|
-
|
|
24
|
+
* and installs it as the global singleton. The optional ScreenOptions
|
|
25
|
+
* control whether the alternate screen buffer is entered and the cursor
|
|
26
|
+
* hidden up-front; both are off by default so existing code that relies
|
|
27
|
+
* on WindowManager.run/stop for those toggles keeps working unchanged. */
|
|
28
|
+
constructor(options?: ScreenOptions);
|
|
9
29
|
/** Registers a CellAttributes object in the global style registry and returns its stable ID. */
|
|
10
30
|
registerStyle(attrs: CellAttributes): StyleId;
|
|
11
31
|
/** Returns the global StyleRegistry. */
|
|
@@ -13,10 +33,64 @@ export declare class Screen extends Window {
|
|
|
13
33
|
/** Overrides a built-in named style (or registers any named style) and returns its new ID.
|
|
14
34
|
* Controls will use the updated style on their next render() call. */
|
|
15
35
|
setBuiltinStyle(name: string, attrs: CellAttributes): StyleId;
|
|
36
|
+
/** Returns the soft FPS cap configured via ScreenOptions, or undefined when uncapped. */
|
|
37
|
+
getTargetFps(): number | undefined;
|
|
38
|
+
/** Switches the terminal into the alternate screen buffer. Idempotent. */
|
|
39
|
+
enterAltScreen(): void;
|
|
40
|
+
/** Restores the primary screen buffer if Screen previously entered the
|
|
41
|
+
* alternate one. Idempotent. */
|
|
42
|
+
exitAltScreen(): void;
|
|
43
|
+
/** Returns true while the alternate screen buffer is active. WindowManager
|
|
44
|
+
* uses this to avoid double-toggling when the consumer constructed the
|
|
45
|
+
* Screen with `altScreen: true`. */
|
|
46
|
+
isAltScreenActive(): boolean;
|
|
47
|
+
/** Hides the hardware cursor. Idempotent. */
|
|
48
|
+
hideHardwareCursor(): void;
|
|
49
|
+
/** Restores the hardware cursor if Screen previously hid it. Idempotent. */
|
|
50
|
+
showHardwareCursor(): void;
|
|
51
|
+
/** Returns true while the hardware cursor is hidden by this Screen. */
|
|
52
|
+
isCursorHidden(): boolean;
|
|
53
|
+
/** Restores any terminal state that was modified by ScreenOptions /
|
|
54
|
+
* enter/hide helpers and detaches signal listeners. Idempotent — safe to
|
|
55
|
+
* call from both deliberate teardown and a process 'exit' handler. */
|
|
56
|
+
dispose(): void;
|
|
57
|
+
/** Recomputes the Screen dimensions from the live `process.stdout` size
|
|
58
|
+
* (or from the explicit overrides), reallocates the internal buffers,
|
|
59
|
+
* reflows all percentage-sized children, and emits a 'resize' event.
|
|
60
|
+
* Called automatically on SIGWINCH; also exposed for tests and consumers
|
|
61
|
+
* that drive resize manually (e.g. when running outside a TTY). */
|
|
62
|
+
resize(width?: number, height?: number): TerminalSize;
|
|
63
|
+
/** Subscribes to a Screen lifecycle event.
|
|
64
|
+
* - 'resize' fires after SIGWINCH (or manual resize()) once the buffers
|
|
65
|
+
* have been re-allocated; the listener receives the new TerminalSize.
|
|
66
|
+
* - 'frame' fires at the end of every render() with timing stats. */
|
|
67
|
+
on(event: 'resize', listener: (size: TerminalSize) => void): this;
|
|
68
|
+
on(event: 'frame', listener: (stats: ScreenFrameStats) => void): this;
|
|
69
|
+
/** Removes a previously registered listener. */
|
|
70
|
+
off(event: 'resize', listener: (size: TerminalSize) => void): this;
|
|
71
|
+
off(event: 'frame', listener: (stats: ScreenFrameStats) => void): this;
|
|
16
72
|
/**
|
|
17
73
|
* Composites the full window tree, then writes the result to stdout as a single ANSI string.
|
|
74
|
+
* Emits a 'frame' event with the wall-clock duration of the render after stdout has been written.
|
|
18
75
|
*/
|
|
19
76
|
render(): void;
|
|
77
|
+
/** Synchronous teardown of any terminal state we own. Used by both dispose()
|
|
78
|
+
* and the 'exit' listener, where async work would be discarded. */
|
|
79
|
+
private restoreTerminalState;
|
|
80
|
+
/** Number of distinct process listeners each Screen installs (SIGWINCH + exit).
|
|
81
|
+
* Used to bump process.setMaxListeners() proportionally so test suites that
|
|
82
|
+
* spin up many Screens don't trip Node's default leak warning. */
|
|
83
|
+
private static readonly LISTENERS_PER_INSTANCE;
|
|
84
|
+
/** Live count of Screens that have installed signal listeners but not yet
|
|
85
|
+
* disposed. Drives the dynamic process listener cap. */
|
|
86
|
+
private static liveInstances;
|
|
87
|
+
/** Attaches the SIGWINCH listener (for autoresize) and an 'exit' listener
|
|
88
|
+
* (for last-chance terminal cleanup). Idempotent. */
|
|
89
|
+
private installSignalHandlers;
|
|
90
|
+
/** Detaches the listeners installed by installSignalHandlers(). Idempotent. */
|
|
91
|
+
private uninstallSignalHandlers;
|
|
92
|
+
/** SIGWINCH handler: pulls the new size from process.stdout and triggers a resize. */
|
|
93
|
+
private handleSigwinch;
|
|
20
94
|
/** Converts cell attributes into an ANSI escape sequence (always resets first). */
|
|
21
95
|
private buildAnsiSequence;
|
|
22
96
|
/** Parses a hex color string (#rrggbb or #rgb) into [r, g, b] components. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.d.mts","sourceRoot":"","sources":["../../src/Screen/Screen.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Screen.d.mts","sourceRoot":"","sources":["../../src/Screen/Screen.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAUtC,qBAAa,MAAO,SAAQ,MAAM;IACjC;2EACuE;IACvE,OAAO,CAAC,MAAM,CAAe;IAC7B,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAU;IACjC,0DAA0D;IAC1D,OAAO,CAAC,YAAY,CAAU;IAC9B,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAqB;IACtC,uEAAuE;IACvE,OAAO,CAAC,aAAa,CAAa;IAClC,oEAAoE;IACpE,OAAO,CAAC,SAAS,CAAa;IAC9B,sEAAsE;IACtE,OAAO,CAAC,gBAAgB,CAAU;IAClC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;;+EAK2E;gBACxD,OAAO,CAAC,EAAE,aAAa;IAqB1C,gGAAgG;IACzF,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAIpD,wCAAwC;IACjC,gBAAgB,IAAI,aAAa;IAIxC;2EACuE;IAChE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO;IAIpE,yFAAyF;IAClF,YAAY,IAAI,MAAM,GAAG,SAAS;IAMzC,0EAA0E;IACnE,cAAc,IAAI,IAAI;IAM7B;qCACiC;IAC1B,aAAa,IAAI,IAAI;IAM5B;;yCAEqC;IAC9B,iBAAiB,IAAI,OAAO;IAInC,6CAA6C;IACtC,kBAAkB,IAAI,IAAI;IAMjC,4EAA4E;IACrE,kBAAkB,IAAI,IAAI;IAMjC,uEAAuE;IAChE,cAAc,IAAI,OAAO;IAIhC;;2EAEuE;IAChE,OAAO,IAAI,IAAI;IAStB;;;;wEAIoE;IAC7D,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;IAW5D;;;2EAGuE;IAChE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IACjE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAG,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAM7E,gDAAgD;IACzC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAClE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAG,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAM9E;;;OAGG;IACa,MAAM,IAAI,IAAI;IAuB9B;wEACoE;IACpE,OAAO,CAAC,oBAAoB;IAO5B;;uEAEmE;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAK;IACnD;6DACyD;IACzD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAK;IAEjC;0DACsD;IACtD,OAAO,CAAC,qBAAqB;IAU7B,+EAA+E;IAC/E,OAAO,CAAC,uBAAuB;IAQ/B,sFAAsF;IACtF,OAAO,CAAC,cAAc;IAItB,mFAAmF;IACnF,OAAO,CAAC,iBAAiB;IAgCzB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ;CAehB"}
|
package/dist/Screen/Screen.mjs
CHANGED
|
@@ -1,18 +1,57 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
1
2
|
import { StyleRegistry } from './StyleRegistry.mjs';
|
|
2
3
|
import { getRegistry, setRegistry } from './RegistryHolder.mjs';
|
|
3
4
|
import { Window } from './Window.mjs';
|
|
4
5
|
import { Pos } from './Pos.mjs';
|
|
5
6
|
import { Size } from './Size.mjs';
|
|
7
|
+
/** ANSI control sequences for the terminal lifecycle features owned by Screen. */
|
|
8
|
+
const ENTER_ALT_SCREEN = '\x1b[?1049h';
|
|
9
|
+
const EXIT_ALT_SCREEN = '\x1b[?1049l';
|
|
10
|
+
const HIDE_CURSOR = '\x1b[?25l';
|
|
11
|
+
const SHOW_CURSOR = '\x1b[?25h';
|
|
6
12
|
export class Screen extends Window {
|
|
13
|
+
/** Internal event bus for 'resize' and 'frame' notifications. Composed
|
|
14
|
+
* rather than inherited so the Window class hierarchy stays plain. */
|
|
15
|
+
events;
|
|
16
|
+
/** True while the alternate screen buffer is currently active. */
|
|
17
|
+
altScreenActive;
|
|
18
|
+
/** True while the hardware cursor is currently hidden. */
|
|
19
|
+
cursorHidden;
|
|
20
|
+
/** Soft FPS cap stored for inspection by consumers; full enforcement is P2-47. */
|
|
21
|
+
targetFps;
|
|
22
|
+
/** Bound SIGWINCH listener (kept so we can detach it on dispose()). */
|
|
23
|
+
boundSigwinch;
|
|
24
|
+
/** Bound 'exit' listener that runs synchronous terminal cleanup. */
|
|
25
|
+
boundExit;
|
|
26
|
+
/** Whether the SIGWINCH + 'exit' listeners are currently attached. */
|
|
27
|
+
signalsInstalled;
|
|
28
|
+
/** Whether dispose() has already restored terminal state. */
|
|
29
|
+
disposed;
|
|
7
30
|
/** Initializes the root window sized to the current terminal dimensions.
|
|
8
31
|
* Creates a fresh StyleRegistry (with built-in styles pre-registered)
|
|
9
|
-
* and installs it as the global singleton.
|
|
10
|
-
|
|
32
|
+
* and installs it as the global singleton. The optional ScreenOptions
|
|
33
|
+
* control whether the alternate screen buffer is entered and the cursor
|
|
34
|
+
* hidden up-front; both are off by default so existing code that relies
|
|
35
|
+
* on WindowManager.run/stop for those toggles keeps working unchanged. */
|
|
36
|
+
constructor(options) {
|
|
11
37
|
const width = process.stdout.columns ?? 80;
|
|
12
38
|
const height = process.stdout.rows ?? 24;
|
|
13
39
|
const registry = new StyleRegistry();
|
|
14
40
|
setRegistry(registry);
|
|
15
41
|
super({ pos: Pos.topLeft(), size: new Size(width, height), background: 0 });
|
|
42
|
+
this.events = new EventEmitter();
|
|
43
|
+
this.altScreenActive = false;
|
|
44
|
+
this.cursorHidden = false;
|
|
45
|
+
this.targetFps = options?.targetFps;
|
|
46
|
+
this.boundSigwinch = () => { this.handleSigwinch(); };
|
|
47
|
+
this.boundExit = () => { this.restoreTerminalState(); };
|
|
48
|
+
this.signalsInstalled = false;
|
|
49
|
+
this.disposed = false;
|
|
50
|
+
if (options?.altScreen)
|
|
51
|
+
this.enterAltScreen();
|
|
52
|
+
if (options?.hideCursor)
|
|
53
|
+
this.hideHardwareCursor();
|
|
54
|
+
this.installSignalHandlers();
|
|
16
55
|
}
|
|
17
56
|
/** Registers a CellAttributes object in the global style registry and returns its stable ID. */
|
|
18
57
|
registerStyle(attrs) {
|
|
@@ -27,21 +66,147 @@ export class Screen extends Window {
|
|
|
27
66
|
setBuiltinStyle(name, attrs) {
|
|
28
67
|
return getRegistry().registerNamed(name, attrs);
|
|
29
68
|
}
|
|
69
|
+
/** Returns the soft FPS cap configured via ScreenOptions, or undefined when uncapped. */
|
|
70
|
+
getTargetFps() {
|
|
71
|
+
return this.targetFps;
|
|
72
|
+
}
|
|
73
|
+
// ── Terminal lifecycle helpers ────────────────────────────────────────────
|
|
74
|
+
/** Switches the terminal into the alternate screen buffer. Idempotent. */
|
|
75
|
+
enterAltScreen() {
|
|
76
|
+
if (this.altScreenActive)
|
|
77
|
+
return;
|
|
78
|
+
process.stdout.write(ENTER_ALT_SCREEN);
|
|
79
|
+
this.altScreenActive = true;
|
|
80
|
+
}
|
|
81
|
+
/** Restores the primary screen buffer if Screen previously entered the
|
|
82
|
+
* alternate one. Idempotent. */
|
|
83
|
+
exitAltScreen() {
|
|
84
|
+
if (!this.altScreenActive)
|
|
85
|
+
return;
|
|
86
|
+
process.stdout.write(EXIT_ALT_SCREEN);
|
|
87
|
+
this.altScreenActive = false;
|
|
88
|
+
}
|
|
89
|
+
/** Returns true while the alternate screen buffer is active. WindowManager
|
|
90
|
+
* uses this to avoid double-toggling when the consumer constructed the
|
|
91
|
+
* Screen with `altScreen: true`. */
|
|
92
|
+
isAltScreenActive() {
|
|
93
|
+
return this.altScreenActive;
|
|
94
|
+
}
|
|
95
|
+
/** Hides the hardware cursor. Idempotent. */
|
|
96
|
+
hideHardwareCursor() {
|
|
97
|
+
if (this.cursorHidden)
|
|
98
|
+
return;
|
|
99
|
+
process.stdout.write(HIDE_CURSOR);
|
|
100
|
+
this.cursorHidden = true;
|
|
101
|
+
}
|
|
102
|
+
/** Restores the hardware cursor if Screen previously hid it. Idempotent. */
|
|
103
|
+
showHardwareCursor() {
|
|
104
|
+
if (!this.cursorHidden)
|
|
105
|
+
return;
|
|
106
|
+
process.stdout.write(SHOW_CURSOR);
|
|
107
|
+
this.cursorHidden = false;
|
|
108
|
+
}
|
|
109
|
+
/** Returns true while the hardware cursor is hidden by this Screen. */
|
|
110
|
+
isCursorHidden() {
|
|
111
|
+
return this.cursorHidden;
|
|
112
|
+
}
|
|
113
|
+
/** Restores any terminal state that was modified by ScreenOptions /
|
|
114
|
+
* enter/hide helpers and detaches signal listeners. Idempotent — safe to
|
|
115
|
+
* call from both deliberate teardown and a process 'exit' handler. */
|
|
116
|
+
dispose() {
|
|
117
|
+
if (this.disposed)
|
|
118
|
+
return;
|
|
119
|
+
this.restoreTerminalState();
|
|
120
|
+
this.uninstallSignalHandlers();
|
|
121
|
+
this.disposed = true;
|
|
122
|
+
}
|
|
123
|
+
// ── Resize handling ───────────────────────────────────────────────────────
|
|
124
|
+
/** Recomputes the Screen dimensions from the live `process.stdout` size
|
|
125
|
+
* (or from the explicit overrides), reallocates the internal buffers,
|
|
126
|
+
* reflows all percentage-sized children, and emits a 'resize' event.
|
|
127
|
+
* Called automatically on SIGWINCH; also exposed for tests and consumers
|
|
128
|
+
* that drive resize manually (e.g. when running outside a TTY). */
|
|
129
|
+
resize(width, height) {
|
|
130
|
+
const w = width ?? process.stdout.columns ?? 80;
|
|
131
|
+
const h = height ?? process.stdout.rows ?? 24;
|
|
132
|
+
this.setSize(w, h);
|
|
133
|
+
const size = { width: w, height: h };
|
|
134
|
+
this.events.emit('resize', size);
|
|
135
|
+
return size;
|
|
136
|
+
}
|
|
137
|
+
on(event, listener) {
|
|
138
|
+
this.events.on(event, listener);
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
off(event, listener) {
|
|
142
|
+
this.events.off(event, listener);
|
|
143
|
+
return this;
|
|
144
|
+
}
|
|
30
145
|
/**
|
|
31
146
|
* Composites the full window tree, then writes the result to stdout as a single ANSI string.
|
|
147
|
+
* Emits a 'frame' event with the wall-clock duration of the render after stdout has been written.
|
|
32
148
|
*/
|
|
33
149
|
render() {
|
|
150
|
+
const start = Date.now();
|
|
34
151
|
super.render();
|
|
35
152
|
const reg = getRegistry();
|
|
36
153
|
const chars = this.region.getChars();
|
|
37
154
|
const styleIds = this.region.getStyleIds();
|
|
38
155
|
let output = '\x1b[H';
|
|
39
156
|
for (let i = 0; i < chars.length; i++) {
|
|
157
|
+
const ch = chars[i];
|
|
158
|
+
// Empty-string sentinel = continuation cell of a wide character;
|
|
159
|
+
// terminal cursor was already advanced by 2 when its left half was emitted.
|
|
160
|
+
if (ch === '')
|
|
161
|
+
continue;
|
|
40
162
|
output += this.buildAnsiSequence(reg.get(styleIds[i]));
|
|
41
|
-
output +=
|
|
163
|
+
output += ch;
|
|
42
164
|
}
|
|
43
165
|
output += '\x1b[0m';
|
|
44
166
|
process.stdout.write(output);
|
|
167
|
+
this.events.emit('frame', { ms: Date.now() - start });
|
|
168
|
+
}
|
|
169
|
+
// ── Private helpers ───────────────────────────────────────────────────────
|
|
170
|
+
/** Synchronous teardown of any terminal state we own. Used by both dispose()
|
|
171
|
+
* and the 'exit' listener, where async work would be discarded. */
|
|
172
|
+
restoreTerminalState() {
|
|
173
|
+
// Cursor first so it reappears in the primary buffer rather than blink
|
|
174
|
+
// on the (about-to-be-restored) alt buffer for one frame.
|
|
175
|
+
this.showHardwareCursor();
|
|
176
|
+
this.exitAltScreen();
|
|
177
|
+
}
|
|
178
|
+
/** Number of distinct process listeners each Screen installs (SIGWINCH + exit).
|
|
179
|
+
* Used to bump process.setMaxListeners() proportionally so test suites that
|
|
180
|
+
* spin up many Screens don't trip Node's default leak warning. */
|
|
181
|
+
static LISTENERS_PER_INSTANCE = 2;
|
|
182
|
+
/** Live count of Screens that have installed signal listeners but not yet
|
|
183
|
+
* disposed. Drives the dynamic process listener cap. */
|
|
184
|
+
static liveInstances = 0;
|
|
185
|
+
/** Attaches the SIGWINCH listener (for autoresize) and an 'exit' listener
|
|
186
|
+
* (for last-chance terminal cleanup). Idempotent. */
|
|
187
|
+
installSignalHandlers() {
|
|
188
|
+
if (this.signalsInstalled)
|
|
189
|
+
return;
|
|
190
|
+
Screen.liveInstances++;
|
|
191
|
+
const wanted = 10 + Screen.liveInstances * Screen.LISTENERS_PER_INSTANCE;
|
|
192
|
+
if (process.getMaxListeners() < wanted)
|
|
193
|
+
process.setMaxListeners(wanted);
|
|
194
|
+
process.on('SIGWINCH', this.boundSigwinch);
|
|
195
|
+
process.on('exit', this.boundExit);
|
|
196
|
+
this.signalsInstalled = true;
|
|
197
|
+
}
|
|
198
|
+
/** Detaches the listeners installed by installSignalHandlers(). Idempotent. */
|
|
199
|
+
uninstallSignalHandlers() {
|
|
200
|
+
if (!this.signalsInstalled)
|
|
201
|
+
return;
|
|
202
|
+
process.off('SIGWINCH', this.boundSigwinch);
|
|
203
|
+
process.off('exit', this.boundExit);
|
|
204
|
+
Screen.liveInstances = Math.max(0, Screen.liveInstances - 1);
|
|
205
|
+
this.signalsInstalled = false;
|
|
206
|
+
}
|
|
207
|
+
/** SIGWINCH handler: pulls the new size from process.stdout and triggers a resize. */
|
|
208
|
+
handleSigwinch() {
|
|
209
|
+
this.resize();
|
|
45
210
|
}
|
|
46
211
|
/** Converts cell attributes into an ANSI escape sequence (always resets first). */
|
|
47
212
|
buildAnsiSequence(attrs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.mjs","sourceRoot":"","sources":["../../src/Screen/Screen.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Screen.mjs","sourceRoot":"","sources":["../../src/Screen/Screen.mts"],"names":[],"mappings":"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"}
|
package/dist/Screen/Size.d.mts
CHANGED
|
@@ -1,23 +1,66 @@
|
|
|
1
|
+
import type { DimSpec } from './types.mjs';
|
|
1
2
|
import { Pct } from './Pos.mjs';
|
|
2
|
-
/**
|
|
3
|
+
/** Value object describing a flex dimension — `grow` shares positive leftover
|
|
4
|
+
* space between siblings, `shrink` soaks up negative leftover, `basis` is the
|
|
5
|
+
* starting main-axis size before distribution. Produced via the `flex()`
|
|
6
|
+
* factory and accepted anywhere a `Size` constructor expects a dimension. */
|
|
7
|
+
export declare class FlexDim {
|
|
8
|
+
readonly grow: number;
|
|
9
|
+
readonly shrink: number;
|
|
10
|
+
readonly basis: number | Pct;
|
|
11
|
+
constructor(grow?: number, shrink?: number, basis?: number | Pct);
|
|
12
|
+
}
|
|
13
|
+
/** Singleton marker for content-sized dimensions. Produced via the `content()`
|
|
14
|
+
* factory; the layout engine measures the child's natural size (current
|
|
15
|
+
* Region dimensions) at layout time. */
|
|
16
|
+
export declare class ContentDim {
|
|
17
|
+
static readonly INSTANCE: ContentDim;
|
|
18
|
+
private constructor();
|
|
19
|
+
}
|
|
20
|
+
/** Factory for a flex dimension — shorthand for `new FlexDim(grow, shrink, basis)`. */
|
|
21
|
+
export declare function flex(grow?: number, shrink?: number, basis?: number | Pct): FlexDim;
|
|
22
|
+
/** Factory for a content-sized dimension. Always returns the singleton. */
|
|
23
|
+
export declare function content(): ContentDim;
|
|
24
|
+
/** Accepted user-supplied values for a single Size dimension. */
|
|
25
|
+
export type DimValue = number | Pct | FlexDim | ContentDim;
|
|
26
|
+
/** Encodes window dimensions. Supports absolute pixel values, percentages of
|
|
27
|
+
* the parent, flex slots (`flex(grow, shrink, basis)`), and content-sized
|
|
28
|
+
* dimensions (`content()`). Flex and content modes only take effect inside a
|
|
29
|
+
* flex-layout parent (`WindowProperties.layout` set to 'row', 'column', or
|
|
30
|
+
* 'grid'); in 'absolute' layout they degrade to the fallback resolution. */
|
|
3
31
|
export declare class Size {
|
|
4
32
|
private wSpec;
|
|
5
33
|
private hSpec;
|
|
6
34
|
/** Creates a size from width and height values.
|
|
7
|
-
*
|
|
8
|
-
|
|
35
|
+
* Accepts plain numbers (absolute pixels), `Pct` (percentage of parent),
|
|
36
|
+
* `FlexDim` (via `flex()` factory), or `ContentDim` (via `content()`). */
|
|
37
|
+
constructor(w: DimValue, h: DimValue);
|
|
9
38
|
/** Creates a size that fills 100% of the parent in both dimensions. */
|
|
10
39
|
static fill(): Size;
|
|
11
40
|
/** Creates a size that fills 100% of the parent's width; height is absolute or percentage. */
|
|
12
|
-
static fillWidth(h:
|
|
41
|
+
static fillWidth(h: DimValue): Size;
|
|
13
42
|
/** Creates a size that fills 100% of the parent's height; width is absolute or percentage. */
|
|
14
|
-
static fillHeight(w:
|
|
43
|
+
static fillHeight(w: DimValue): Size;
|
|
44
|
+
/** Creates a size that flexes on both axes — shorthand for
|
|
45
|
+
* `new Size(flex(grow, shrink, basis), flex(grow, shrink, basis))`. The
|
|
46
|
+
* parent's layout engine decides which axis is main vs cross. */
|
|
47
|
+
static flex(grow?: number, shrink?: number, basis?: number | Pct): Size;
|
|
48
|
+
/** Creates a size where both axes are content-sized. The layout engine
|
|
49
|
+
* measures the child's current Region dimensions and uses those. */
|
|
50
|
+
static content(): Size;
|
|
15
51
|
/** Returns true when both dimensions are absolute pixel values (no parent size needed). */
|
|
16
52
|
isAbsolute(): boolean;
|
|
17
|
-
/** Resolves this size to pixel dimensions given the parent's dimensions.
|
|
53
|
+
/** Resolves this size to pixel dimensions given the parent's dimensions.
|
|
54
|
+
* Flex/content modes fall back to safe defaults; the layout engine takes
|
|
55
|
+
* over when the parent uses a non-'absolute' `layout`. */
|
|
18
56
|
resolve(parentW: number, parentH: number): {
|
|
19
57
|
w: number;
|
|
20
58
|
h: number;
|
|
21
59
|
};
|
|
60
|
+
/** Returns the raw width spec so the layout engine can inspect the mode
|
|
61
|
+
* (abs/pct/flex/content) and route each child accordingly. */
|
|
62
|
+
getWidthSpec(): DimSpec;
|
|
63
|
+
/** Returns the raw height spec — companion to getWidthSpec(). */
|
|
64
|
+
getHeightSpec(): DimSpec;
|
|
22
65
|
}
|
|
23
66
|
//# sourceMappingURL=Size.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Size.d.mts","sourceRoot":"","sources":["../../src/Screen/Size.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Size.d.mts","sourceRoot":"","sources":["../../src/Screen/Size.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;8EAG8E;AAC9E,qBAAa,OAAO;IACnB,SAAgB,IAAI,EAAI,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,KAAK,EAAG,MAAM,GAAG,GAAG,CAAC;gBAElB,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU,EAAE,KAAK,GAAE,MAAM,GAAG,GAAO;CAKhF;AAED;;yCAEyC;AACzC,qBAAa,UAAU;IACtB,gBAAuB,QAAQ,EAAE,UAAU,CAAoB;IAC/D,OAAO;CACP;AAED,uFAAuF;AACvF,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU,EAAE,KAAK,GAAE,MAAM,GAAG,GAAO,GAAG,OAAO,CAE3F;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,IAAI,UAAU,CAEpC;AAED,iEAAiE;AACjE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,UAAU,CAAC;AA+B3D;;;;6EAI6E;AAC7E,qBAAa,IAAI;IAChB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,KAAK,CAAU;IAEvB;;+EAE2E;gBACxD,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ;IAK3C,uEAAuE;WACzD,IAAI,IAAI,IAAI;IAI1B,8FAA8F;WAChF,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI;IAI1C,8FAA8F;WAChF,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI;IAI3C;;sEAEkE;WACpD,IAAI,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU,EAAE,KAAK,GAAE,MAAM,GAAG,GAAO,GAAG,IAAI;IAIvF;yEACqE;WACvD,OAAO,IAAI,IAAI;IAI7B,2FAA2F;IACpF,UAAU,IAAI,OAAO;IAI5B;;+DAE2D;IACpD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAO1E;mEAC+D;IACxD,YAAY,IAAI,OAAO;IAI9B,iEAAiE;IAC1D,aAAa,IAAI,OAAO;CAG/B"}
|