@opentui/core 0.5.9 → 0.5.10

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/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "index.node.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
- "version": "0.5.9",
7
+ "version": "0.5.10",
8
8
  "description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -75,13 +75,13 @@
75
75
  "web-tree-sitter": "0.25.10"
76
76
  },
77
77
  "optionalDependencies": {
78
- "@opentui/core-darwin-x64": "0.5.9",
79
- "@opentui/core-darwin-arm64": "0.5.9",
80
- "@opentui/core-linux-x64": "0.5.9",
81
- "@opentui/core-linux-arm64": "0.5.9",
82
- "@opentui/core-win32-x64": "0.5.9",
83
- "@opentui/core-win32-arm64": "0.5.9",
84
- "@opentui/core-linux-x64-musl": "0.5.9",
85
- "@opentui/core-linux-arm64-musl": "0.5.9"
78
+ "@opentui/core-darwin-x64": "0.5.10",
79
+ "@opentui/core-darwin-arm64": "0.5.10",
80
+ "@opentui/core-linux-x64": "0.5.10",
81
+ "@opentui/core-linux-arm64": "0.5.10",
82
+ "@opentui/core-win32-x64": "0.5.10",
83
+ "@opentui/core-win32-arm64": "0.5.10",
84
+ "@opentui/core-linux-x64-musl": "0.5.10",
85
+ "@opentui/core-linux-arm64-musl": "0.5.10"
86
86
  }
87
87
  }
package/renderer.d.ts CHANGED
@@ -12,12 +12,22 @@ import { KeyHandler, InternalKeyHandler } from "./lib/KeyHandler.js";
12
12
  import { type EditBufferRenderable } from "./renderables/EditBufferRenderable.js";
13
13
  import { type TerminalColors, type GetPaletteOptions } from "./lib/terminal-palette.js";
14
14
  import { type Clock } from "./lib/clock.js";
15
+ export type KittyImageTransport = "raw" | "zlib" | "file";
16
+ export interface KittyImageTransportStatus {
17
+ requested: KittyImageTransport;
18
+ effective: "raw" | "zlib" | "png" | "file";
19
+ fileState: "disabled" | "probing" | "ready" | "unsupported" | "timeout" | "io-error" | "cancelled";
20
+ fallback: "none" | "not-ready" | "unavailable" | "budget" | "busy" | "preparation" | "compression";
21
+ pendingFiles: number;
22
+ pendingBytes: number;
23
+ }
15
24
  export interface CliRendererConfig {
16
25
  stdin?: NodeJS.ReadStream;
17
26
  stdout?: NodeJS.WriteStream;
18
27
  width?: number;
19
28
  height?: number;
20
29
  remote?: boolean;
30
+ kittyImageTransport?: KittyImageTransport;
21
31
  bufferedOutput?: NativeBufferedOutput;
22
32
  exitOnCtrlC?: boolean;
23
33
  exitSignals?: NodeJS.Signals[];
@@ -257,6 +267,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
257
267
  private minTargetFrameTime;
258
268
  private immediateRerenderRequested;
259
269
  private updateScheduled;
270
+ private updateGeneration;
260
271
  private liveRequestCounter;
261
272
  private _controlState;
262
273
  private frameCallbacks;
@@ -274,6 +285,8 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
274
285
  private animationRequest;
275
286
  private resizeTimeoutId;
276
287
  private capabilityTimeoutId;
288
+ private kittyTransportTimer;
289
+ private kittyTransportMode;
277
290
  private terminalKeepAliveTimer;
278
291
  private xtVersionWaiters;
279
292
  private splitStartupSeedTimeoutId;
@@ -347,8 +360,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
347
360
  private _detachFeed;
348
361
  private _detachFeedError;
349
362
  private feedIdleRenderScheduled;
350
- private ordinaryFrameWaitingForFeed;
351
- private ordinaryFrameWaitControlState;
363
+ private feedIdleWaitPending;
352
364
  get controlState(): RendererControlState;
353
365
  /**
354
366
  * Construct a renderer over the given streams.
@@ -398,6 +410,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
398
410
  get frameId(): number;
399
411
  private writeOut;
400
412
  private scheduleRenderAfterFeedIdle;
413
+ private cancelRenderAfterFeedIdle;
401
414
  private handleNativeRenderRejection;
402
415
  private reportNativeRenderFailure;
403
416
  private scheduleRenderTimer;
@@ -437,6 +450,12 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
437
450
  get liveRequestCount(): number;
438
451
  get currentControlState(): string;
439
452
  get capabilities(): TerminalCapabilities | null;
453
+ get kittyImageTransport(): KittyImageTransport;
454
+ set kittyImageTransport(mode: KittyImageTransport);
455
+ private startKittyTransportPolling;
456
+ get kittyImageTransportStatus(): KittyImageTransportStatus;
457
+ cancelKittyImageTransport(): void;
458
+ private kittyOutputErrorHandler;
440
459
  triggerNotification(message: string, title?: string): boolean;
441
460
  get themeMode(): ThemeMode | null;
442
461
  waitForThemeMode(timeoutMs?: number): Promise<ThemeMode | null>;
package/testing.bun.js CHANGED
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  ANSI,
4
4
  CliRenderer
5
- } from "./chunk-bun-jxfx3h5k.js";
5
+ } from "./chunk-bun-bb3k0yt8.js";
6
6
  import {
7
7
  SystemClock,
8
8
  TreeSitterClient
9
- } from "./chunk-bun-b0662dgp.js";
9
+ } from "./chunk-bun-9gqvxy8c.js";
10
10
 
11
11
  // src/testing/mock-keys.ts
12
12
  import { Buffer as Buffer2 } from "buffer";
package/testing.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ANSI,
3
3
  CliRenderer
4
- } from "./chunk-node-dcyj0dm5.js";
4
+ } from "./chunk-node-6bg8r2m7.js";
5
5
  import {
6
6
  SystemClock,
7
7
  TreeSitterClient
8
- } from "./chunk-node-zcz10bhr.js";
8
+ } from "./chunk-node-f647ts9q.js";
9
9
 
10
10
  // src/testing/mock-keys.ts
11
11
  import { Buffer as Buffer2 } from "node:buffer";
package/yoga.bun.js CHANGED
@@ -93,7 +93,7 @@ import {
93
93
  WRAP_WRAP_REVERSE,
94
94
  Wrap,
95
95
  yoga_default
96
- } from "./chunk-bun-b0662dgp.js";
96
+ } from "./chunk-bun-9gqvxy8c.js";
97
97
  export {
98
98
  yoga_default as default,
99
99
  Wrap,
package/yoga.js CHANGED
@@ -92,7 +92,7 @@ import {
92
92
  WRAP_WRAP_REVERSE,
93
93
  Wrap,
94
94
  yoga_default
95
- } from "./chunk-node-zcz10bhr.js";
95
+ } from "./chunk-node-f647ts9q.js";
96
96
  export {
97
97
  yoga_default as default,
98
98
  Wrap,
package/zig.d.ts CHANGED
@@ -272,7 +272,7 @@ export interface RenderLib extends AudioEngineLib {
272
272
  getRenderStats: (renderer: RendererHandle) => NativeRenderStats;
273
273
  render: (renderer: RendererHandle, force: boolean) => number;
274
274
  repaintSplitFooter: (renderer: RendererHandle, pinnedRenderOffset: number, force: boolean) => NativeRenderOperationResult;
275
- commitSplitFooterSnapshot: (renderer: RendererHandle, snapshot: OptimizedBuffer, rowColumns: number, startOnNewLine: boolean, trailingNewline: boolean, pinnedRenderOffset: number, force: boolean, beginFrame?: boolean, finalizeFrame?: boolean) => NativeRenderOperationResult;
275
+ commitSplitFooterSnapshot: (renderer: RendererHandle, snapshot: OptimizedBuffer, rowColumns: number, startOnNewLine: boolean, trailingNewline: boolean, pinnedRenderOffset: number, force: boolean, beginFrame?: boolean, finalizeFrame?: boolean, controlOutput?: boolean) => NativeRenderOperationResult;
276
276
  getNextBuffer: (renderer: RendererHandle) => OptimizedBuffer;
277
277
  getCurrentBuffer: (renderer: RendererHandle) => OptimizedBuffer;
278
278
  rendererSetPaletteState: (renderer: RendererHandle, palette: readonly RGBA[], defaultForeground: RGBA, defaultBackground: RGBA, paletteEpoch: number) => void;
@@ -649,6 +649,11 @@ export interface RenderLib extends AudioEngineLib {
649
649
  status: number;
650
650
  handle: ImageHandle | null;
651
651
  };
652
+ imageCreateFromPixels: (pixels: Uint8Array, width: number, height: number, stride: number, format: number, alpha: number) => {
653
+ status: number;
654
+ handle: ImageHandle | null;
655
+ };
656
+ imageUpdatePixels: (image: ImageHandle, pixels: Uint8Array, stride: number, format: number, alpha: number) => number;
652
657
  imageDestroy: (image: ImageHandle) => void;
653
658
  imageRetain: (image: ImageHandle) => {
654
659
  status: number;
@@ -688,6 +693,11 @@ export interface RenderLib extends AudioEngineLib {
688
693
  };
689
694
  getTerminalCapabilities: (renderer: RendererHandle) => TerminalCapabilities;
690
695
  processCapabilityResponse: (renderer: RendererHandle, response: string) => void;
696
+ setKittyImageTransport: (renderer: RendererHandle, mode: number) => boolean;
697
+ getKittyImageTransport: (renderer: RendererHandle) => Uint32Array;
698
+ pollKittyImageTransport: (renderer: RendererHandle) => boolean;
699
+ cancelKittyImageTransport: (renderer: RendererHandle, failed: boolean) => void;
700
+ processKittyImageReply: (renderer: RendererHandle, response: string) => number;
691
701
  encodeUnicode: (text: string, widthMethod: WidthMethod) => {
692
702
  ptr: Pointer;
693
703
  data: Array<{