@jrichman/ink 6.5.0 → 6.5.1-beta.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.
Files changed (40) hide show
  1. package/build/dom.d.ts +3 -3
  2. package/build/output.d.ts +3 -3
  3. package/build/output.js +5 -2
  4. package/build/output.js.map +1 -1
  5. package/build/render-cached.js +1 -1
  6. package/build/render-cached.js.map +1 -1
  7. package/build/render-sticky.d.ts +2 -2
  8. package/build/render-sticky.js.map +1 -1
  9. package/build/render-worker.d.ts +25 -0
  10. package/build/render-worker.js +370 -0
  11. package/build/render-worker.js.map +1 -0
  12. package/build/serialization.d.ts +1 -1
  13. package/build/serialization.js.map +1 -1
  14. package/build/terminal-buffer.d.ts +3 -1
  15. package/build/terminal-buffer.js +17 -5
  16. package/build/terminal-buffer.js.map +1 -1
  17. package/build/terminal-writer.d.ts +69 -0
  18. package/build/terminal-writer.js +546 -0
  19. package/build/terminal-writer.js.map +1 -0
  20. package/build/web/ansi-to-css.d.ts +16 -0
  21. package/build/web/ansi-to-css.js +147 -0
  22. package/build/web/ansi-to-css.js.map +1 -0
  23. package/build/web/client.d.ts +51 -0
  24. package/build/web/client.js +315 -0
  25. package/build/web/client.js.map +1 -0
  26. package/build/web/server.d.ts +1 -0
  27. package/build/web/server.js +179 -0
  28. package/build/web/server.js.map +1 -0
  29. package/build/worker/dump-replay.d.ts +1 -0
  30. package/build/worker/dump-replay.js +15 -0
  31. package/build/worker/dump-replay.js.map +1 -0
  32. package/build/worker/replay.d.ts +55 -0
  33. package/build/worker/replay.js +133 -0
  34. package/build/worker/replay.js.map +1 -0
  35. package/build/worker/scene-manager.js +6 -5
  36. package/build/worker/scene-manager.js.map +1 -1
  37. package/build/worker/terminal-writer.d.ts +1 -1
  38. package/build/worker/terminal-writer.js +4 -2
  39. package/build/worker/terminal-writer.js.map +1 -1
  40. package/package.json +2 -2
package/build/dom.d.ts CHANGED
@@ -15,9 +15,9 @@ export type ElementNames = 'ink-root' | 'ink-box' | 'ink-text' | 'ink-virtual-te
15
15
  export type NodeNames = ElementNames | TextName;
16
16
  export type StickyHeader = {
17
17
  nodeId: number;
18
- lines: StyledChar[][];
19
- stuckLines?: StyledChar[][];
20
- styledOutput: StyledChar[][];
18
+ lines: ReadonlyArray<readonly StyledChar[]>;
19
+ stuckLines?: ReadonlyArray<readonly StyledChar[]>;
20
+ styledOutput: ReadonlyArray<readonly StyledChar[]>;
21
21
  x: number;
22
22
  y: number;
23
23
  naturalRow: number;
package/build/output.d.ts CHANGED
@@ -9,7 +9,7 @@ Handles the positioning and saving of the output of each node in the tree. Also
9
9
 
10
10
  Used to generate the final output of all nodes before writing it to actual output stream (e.g. stdout)
11
11
  */
12
- export declare function clampCursorColumn(line: StyledChar[], col: number): number;
12
+ export declare function clampCursorColumn(line: readonly StyledChar[], col: number): number;
13
13
  type Options = {
14
14
  width: number;
15
15
  height: number;
@@ -54,8 +54,8 @@ export type Region = {
54
54
  y: number;
55
55
  width: number;
56
56
  height: number;
57
- lines: StyledChar[][];
58
- styledOutput: StyledChar[][];
57
+ readonly lines: ReadonlyArray<readonly StyledChar[]>;
58
+ readonly styledOutput: ReadonlyArray<readonly StyledChar[]>;
59
59
  isScrollable: boolean;
60
60
  isVerticallyScrollable?: boolean;
61
61
  isHorizontallyScrollable?: boolean;
package/build/output.js CHANGED
@@ -254,7 +254,7 @@ export default class Output {
254
254
  overflowToBackbuffer,
255
255
  x: region.x + x,
256
256
  y: region.y + y,
257
- lines: region.lines.map(line => line.map(char => ({ ...char, styles: [...char.styles] }))),
257
+ lines: region.lines,
258
258
  selectableSpans: region.selectableSpans.map(span => ({ ...span })),
259
259
  stickyHeaders: region.stickyHeaders.map(header => ({
260
260
  ...header,
@@ -276,7 +276,10 @@ export default class Output {
276
276
  break;
277
277
  }
278
278
  }
279
- region.styledOutput[y] = line.slice(0, lastNonSpace + 1);
279
+ const trimmedLength = lastNonSpace + 1;
280
+ if (region.styledOutput[y]?.length !== trimmedLength) {
281
+ region.styledOutput[y] = line.slice(0, trimmedLength);
282
+ }
280
283
  }
281
284
  for (const child of region.children) {
282
285
  this.trimRegionLines(child);
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export function handleCachedRenderNode(node, output, options) {
12
12
  const range = selectionMap.get(node);
13
13
  const clonedRegionObj = {
14
14
  ...node.cachedRender,
15
- lines: node.cachedRender.lines.map(line => line.map(char => ({ ...char, styles: [...char.styles] }))),
15
+ lines: node.cachedRender.lines.map(line => [...line]),
16
16
  selectableSpans: node.cachedRender.selectableSpans.map(span => ({
17
17
  ...span,
18
18
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"render-cached.js","sourceRoot":"","sources":["../src/render-cached.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-cached.js","sourceRoot":"","sources":["../src/render-cached.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,8 @@ export declare function renderStickyNode(stickyNode: DOMElement, options: {
23
23
  }>;
24
24
  selectionStyle?: (char: StyledChar) => StyledChar;
25
25
  }): {
26
- naturalLines: StyledChar[][];
27
- stuckLines: StyledChar[][] | undefined;
26
+ naturalLines: ReadonlyArray<readonly StyledChar[]>;
27
+ stuckLines: ReadonlyArray<readonly StyledChar[]> | undefined;
28
28
  naturalHeight: number;
29
29
  maxHeaderHeight: number;
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type RenderLine } from './terminal-writer.js';
2
+ import { type RegionNode, type RegionUpdate, type Region } from './output.js';
3
+ export declare class TerminalBufferWorker {
4
+ columns: number;
5
+ rows: number;
6
+ regions: Map<string | number, Region>;
7
+ root?: RegionNode;
8
+ private lastRootScrollTop;
9
+ backbufferDirty: boolean;
10
+ backbufferDirtyCurrentFrame: boolean;
11
+ fullRenderTimeout?: NodeJS.Timeout;
12
+ frameIndex: number;
13
+ debugRainbowEnabled: boolean;
14
+ lines: RenderLine[];
15
+ private readonly terminalWriter;
16
+ constructor(columns: number, rows: number, options?: {
17
+ debugRainbowEnabled?: boolean;
18
+ stdout?: NodeJS.WriteStream;
19
+ });
20
+ update(tree: RegionNode, updates: RegionUpdate[]): void;
21
+ resize(columns: number, rows: number): void;
22
+ fullRender(): void;
23
+ render(): Promise<void>;
24
+ private composeNode;
25
+ }
@@ -0,0 +1,370 @@
1
+ import process from 'node:process';
2
+ import { Buffer } from 'node:buffer';
3
+ import ansiEscapes from 'ansi-escapes';
4
+ import { Deserializer } from './serialization.js';
5
+ import { debugLog } from './debug-log.js';
6
+ import { TerminalWriter, rainbowColors, } from './terminal-writer.js';
7
+ import { calculateScrollbarThumb } from './measure-element.js';
8
+ const clearOnDirtyRender = false;
9
+ export class TerminalBufferWorker {
10
+ columns;
11
+ rows;
12
+ // Local state of regions
13
+ regions = new Map();
14
+ root;
15
+ // Tracking for scroll optimization
16
+ lastRootScrollTop = 0;
17
+ backbufferDirty = false;
18
+ backbufferDirtyCurrentFrame = false;
19
+ fullRenderTimeout;
20
+ frameIndex = 0;
21
+ debugRainbowEnabled = false;
22
+ // Ground truth on what lines should be rendered (composed frame)
23
+ lines = [];
24
+ terminalWriter;
25
+ constructor(columns, rows, options) {
26
+ this.columns = columns;
27
+ this.rows = rows;
28
+ const stdout = options?.stdout ?? process.stdout;
29
+ this.terminalWriter = new TerminalWriter(columns, rows, stdout);
30
+ stdout.write(ansiEscapes.cursorHide);
31
+ if (options?.debugRainbowEnabled) {
32
+ this.debugRainbowEnabled = true;
33
+ }
34
+ }
35
+ update(tree, updates) {
36
+ this.root = tree;
37
+ for (const update of updates) {
38
+ let region = this.regions.get(update.id);
39
+ if (!region) {
40
+ // Initialize new region
41
+ region = {
42
+ id: update.id,
43
+ x: 0, y: 0, width: 0, height: 0,
44
+ lines: [],
45
+ isScrollable: false,
46
+ stickyHeaders: [],
47
+ children: []
48
+ };
49
+ this.regions.set(update.id, region);
50
+ }
51
+ // Apply properties
52
+ if (update.x !== undefined)
53
+ region.x = update.x;
54
+ if (update.y !== undefined)
55
+ region.y = update.y;
56
+ if (update.width !== undefined)
57
+ region.width = update.width;
58
+ if (update.height !== undefined)
59
+ region.height = update.height;
60
+ if (update.scrollTop !== undefined)
61
+ region.scrollTop = update.scrollTop;
62
+ if (update.scrollLeft !== undefined)
63
+ region.scrollLeft = update.scrollLeft;
64
+ if (update.scrollHeight !== undefined)
65
+ region.scrollHeight = update.scrollHeight;
66
+ if (update.scrollWidth !== undefined)
67
+ region.scrollWidth = update.scrollWidth;
68
+ if (update.isScrollable !== undefined)
69
+ region.isScrollable = update.isScrollable;
70
+ if (update.stickyHeaders !== undefined)
71
+ region.stickyHeaders = update.stickyHeaders;
72
+ // Apply line updates
73
+ if (update.lines) {
74
+ while (region.lines.length < update.lines.totalLength) {
75
+ region.lines.push([]);
76
+ }
77
+ if (region.lines.length > update.lines.totalLength) {
78
+ region.lines.length = update.lines.totalLength;
79
+ }
80
+ for (const chunk of update.lines.updates) {
81
+ const deserializer = new Deserializer(Buffer.from(chunk.data));
82
+ const chunkLines = deserializer.deserialize();
83
+ for (let i = 0; i < chunkLines.length; i++) {
84
+ region.lines[chunk.start + i] = chunkLines[i];
85
+ }
86
+ }
87
+ }
88
+ }
89
+ this.backbufferDirtyCurrentFrame = true;
90
+ }
91
+ resize(columns, rows) {
92
+ if (this.columns === columns && this.rows === rows) {
93
+ return;
94
+ }
95
+ this.columns = columns;
96
+ this.rows = rows;
97
+ debugLog(`XXXXX [RENDER-WORKER] Resize to ${columns}x${rows}\n`);
98
+ this.terminalWriter.resize(columns, rows);
99
+ this.backbufferDirtyCurrentFrame = true;
100
+ void this.render();
101
+ }
102
+ fullRender() {
103
+ debugLog(`XXXXX [RENDER-WORKER] Full render triggered\n`);
104
+ if (this.fullRenderTimeout) {
105
+ clearTimeout(this.fullRenderTimeout);
106
+ }
107
+ if (!this.backbufferDirty) {
108
+ void this.render();
109
+ return;
110
+ }
111
+ this.backbufferDirty = false;
112
+ this.backbufferDirtyCurrentFrame = false;
113
+ this.terminalWriter.clear();
114
+ this.terminalWriter.writeLines(this.lines);
115
+ this.terminalWriter.validateLinesConsistent(this.lines);
116
+ }
117
+ async render() {
118
+ debugLog(`XXXXX [RENDER-WORKER] Render\n`);
119
+ if (!this.backbufferDirtyCurrentFrame || !this.root) {
120
+ return;
121
+ }
122
+ // 1. Detect Scroll (Optimization)
123
+ const rootRegion = this.regions.get(this.root.id);
124
+ if (rootRegion && rootRegion.isScrollable) {
125
+ const scrollTop = rootRegion.scrollTop ?? 0;
126
+ const diff = scrollTop - this.lastRootScrollTop;
127
+ if (diff !== 0) {
128
+ const linesToScroll = Math.abs(diff);
129
+ const direction = diff > 0 ? 'up' : 'down';
130
+ const visibleHeight = Math.min(rootRegion.height, this.rows);
131
+ const linesForScroll = [];
132
+ if (direction === 'up') {
133
+ const startRowIndex = scrollTop + visibleHeight - linesToScroll;
134
+ for (let i = 0; i < linesToScroll; i++) {
135
+ const lineIdx = startRowIndex + i;
136
+ const chars = rootRegion.lines[lineIdx] ?? [];
137
+ linesForScroll.push(this.terminalWriter.clampLine(chars, this.columns));
138
+ }
139
+ this.terminalWriter.scrollLines({
140
+ start: 0,
141
+ end: visibleHeight,
142
+ linesToScroll,
143
+ lines: linesForScroll,
144
+ direction,
145
+ scrollToBackbuffer: true
146
+ });
147
+ }
148
+ else {
149
+ for (let i = 0; i < linesToScroll; i++) {
150
+ const lineIdx = scrollTop + i;
151
+ const chars = rootRegion.lines[lineIdx] ?? [];
152
+ linesForScroll.push(this.terminalWriter.clampLine(chars, this.columns));
153
+ }
154
+ this.terminalWriter.scrollLines({
155
+ start: 0,
156
+ end: visibleHeight,
157
+ linesToScroll,
158
+ lines: linesForScroll,
159
+ direction,
160
+ scrollToBackbuffer: false
161
+ });
162
+ }
163
+ this.lastRootScrollTop = scrollTop;
164
+ }
165
+ }
166
+ else if (rootRegion) {
167
+ this.lastRootScrollTop = rootRegion.scrollTop ?? 0;
168
+ }
169
+ // 2. Compose Frame
170
+ this.lines = [];
171
+ for (let i = 0; i < this.rows; i++) {
172
+ this.lines.push({
173
+ styledChars: [],
174
+ text: '',
175
+ length: 0,
176
+ tainted: false
177
+ });
178
+ }
179
+ this.composeNode(this.root, null);
180
+ if (this.debugRainbowEnabled) {
181
+ this.frameIndex++;
182
+ }
183
+ const debugRainbowColor = this.debugRainbowEnabled
184
+ ? rainbowColors[this.frameIndex % rainbowColors.length]
185
+ : undefined;
186
+ this.terminalWriter.debugRainbowColor = debugRainbowColor;
187
+ if (this.backbufferDirtyCurrentFrame && clearOnDirtyRender) {
188
+ this.terminalWriter.clear();
189
+ }
190
+ if (this.terminalWriter.isFirstRender) {
191
+ this.terminalWriter.writeLines(this.lines);
192
+ this.terminalWriter.flush();
193
+ this.backbufferDirtyCurrentFrame = false;
194
+ return;
195
+ }
196
+ // 3. Sync
197
+ for (let row = 0; row < this.rows; row++) {
198
+ this.terminalWriter.syncLine(this.lines[row], row);
199
+ }
200
+ await this.terminalWriter.slowFlush();
201
+ if (this.backbufferDirtyCurrentFrame) {
202
+ this.backbufferDirty = true;
203
+ if (this.fullRenderTimeout) {
204
+ clearTimeout(this.fullRenderTimeout);
205
+ }
206
+ this.fullRenderTimeout = setTimeout(() => {
207
+ this.fullRender();
208
+ }, 1000);
209
+ }
210
+ this.backbufferDirtyCurrentFrame = false;
211
+ }
212
+ composeNode(node, clip) {
213
+ const region = this.regions.get(node.id);
214
+ if (!region)
215
+ return;
216
+ const absX = region.x;
217
+ const absY = region.y;
218
+ let myClip = {
219
+ x: absX,
220
+ y: absY,
221
+ w: region.width,
222
+ h: region.height
223
+ };
224
+ if (clip) {
225
+ const x1 = Math.max(myClip.x, clip.x);
226
+ const y1 = Math.max(myClip.y, clip.y);
227
+ const x2 = Math.min(myClip.x + myClip.w, clip.x + clip.w);
228
+ const y2 = Math.min(myClip.y + myClip.h, clip.y + clip.h);
229
+ if (x2 <= x1 || y2 <= y1) {
230
+ return;
231
+ }
232
+ myClip = { x: x1, y: y1, w: x2 - x1, h: y2 - y1 };
233
+ }
234
+ const scrollTop = region.scrollTop ?? 0;
235
+ const scrollLeft = region.scrollLeft ?? 0;
236
+ for (let sy = myClip.y; sy < myClip.y + myClip.h; sy++) {
237
+ if (sy < 0 || sy >= this.rows)
238
+ continue;
239
+ const dy = sy - absY;
240
+ const contentY = scrollTop + dy;
241
+ const line = region.lines[contentY];
242
+ if (!line)
243
+ continue;
244
+ const targetLine = this.lines[sy];
245
+ if (!targetLine)
246
+ continue;
247
+ const startSx = myClip.x;
248
+ const endSx = myClip.x + myClip.w;
249
+ while (targetLine.styledChars.length < this.columns) {
250
+ targetLine.styledChars.push({ type: 'char', value: ' ', fullWidth: false, styles: [] });
251
+ }
252
+ for (let sx = startSx; sx < endSx; sx++) {
253
+ if (sx < 0 || sx >= this.columns)
254
+ continue;
255
+ const dx = sx - absX;
256
+ const contentX = scrollLeft + dx;
257
+ const char = line[contentX];
258
+ if (char) {
259
+ targetLine.styledChars[sx] = char;
260
+ }
261
+ }
262
+ }
263
+ for (const child of node.children) {
264
+ this.composeNode(child, myClip);
265
+ }
266
+ for (const header of region.stickyHeaders) {
267
+ const headerY = header.y;
268
+ const headerH = header.lines.length;
269
+ for (let i = 0; i < headerH; i++) {
270
+ const sy = headerY + i;
271
+ if (sy < myClip.y || sy >= myClip.y + myClip.h)
272
+ continue;
273
+ if (sy < 0 || sy >= this.rows)
274
+ continue;
275
+ const line = header.lines[i];
276
+ if (!line)
277
+ continue;
278
+ const targetLine = this.lines[sy];
279
+ if (!targetLine)
280
+ continue;
281
+ const headerX = header.x;
282
+ const headerW = line.length;
283
+ const hx1 = Math.max(headerX, myClip.x);
284
+ const hx2 = Math.min(headerX + headerW, myClip.x + myClip.w);
285
+ for (let sx = hx1; sx < hx2; sx++) {
286
+ if (sx < 0 || sx >= this.columns)
287
+ continue;
288
+ const cx = sx - headerX;
289
+ const char = line[cx];
290
+ if (char) {
291
+ targetLine.styledChars[sx] = char;
292
+ }
293
+ }
294
+ }
295
+ }
296
+ if (region.isScrollable) {
297
+ const scrollHeight = region.scrollHeight ?? 0;
298
+ if (scrollHeight > region.height) {
299
+ const { startIndex, endIndex } = calculateScrollbarThumb({
300
+ scrollbarDimension: region.height,
301
+ clientDimension: region.height,
302
+ scrollDimension: scrollHeight,
303
+ scrollPosition: scrollTop,
304
+ axis: 'vertical',
305
+ });
306
+ const barX = absX + region.width - 1;
307
+ const char = '█';
308
+ for (let i = startIndex; i < endIndex; i++) {
309
+ const sy = absY + i;
310
+ if (sy >= myClip.y && sy < myClip.y + myClip.h && sy >= 0 && sy < this.rows && barX >= 0 && barX < this.columns) {
311
+ const targetLine = this.lines[sy];
312
+ if (targetLine) {
313
+ while (targetLine.styledChars.length <= barX) {
314
+ targetLine.styledChars.push({ type: 'char', value: ' ', fullWidth: false, styles: [] });
315
+ }
316
+ targetLine.styledChars[barX] = {
317
+ type: 'char', value: char, fullWidth: false, styles: []
318
+ };
319
+ }
320
+ }
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }
326
+ let buffer;
327
+ const main = () => {
328
+ process.on('message', (message) => {
329
+ switch (message.type) {
330
+ case 'init': {
331
+ const columns = (process.stdout.columns || message.columns);
332
+ const rows = (process.stdout.rows || message.rows);
333
+ buffer = new TerminalBufferWorker(columns, rows, {
334
+ debugRainbowEnabled: message.debugRainbowEnabled,
335
+ });
336
+ break;
337
+ }
338
+ case 'edits': {
339
+ if (buffer) {
340
+ buffer.update(message.tree, message.updates);
341
+ }
342
+ break;
343
+ }
344
+ case 'fullRender': {
345
+ if (buffer) {
346
+ buffer.fullRender();
347
+ }
348
+ break;
349
+ }
350
+ case 'render': {
351
+ if (buffer) {
352
+ void buffer.render();
353
+ }
354
+ break;
355
+ }
356
+ default: {
357
+ break;
358
+ }
359
+ }
360
+ });
361
+ process.stdout.on('resize', () => {
362
+ if (buffer && process.stdout.columns && process.stdout.rows) {
363
+ buffer.resize(process.stdout.columns, process.stdout.rows);
364
+ }
365
+ });
366
+ };
367
+ if (process.env['INK_WORKER'] === 'true') {
368
+ main();
369
+ }
370
+ //# sourceMappingURL=render-worker.js.map