@cascadetui/core 0.1.9 → 0.1.11

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.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
- "version": "0.1.9",
7
+ "version": "0.1.11",
8
8
  "description": "Cascade is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -57,11 +57,11 @@
57
57
  "bun-webgpu": "0.1.5",
58
58
  "planck": "^1.4.2",
59
59
  "three": "0.177.0",
60
- "@cascadetui/core-win32-x64": "0.1.9",
61
- "@cascadetui/core-win32-arm64": "0.1.9",
62
- "@cascadetui/core-darwin-x64": "0.1.9",
63
- "@cascadetui/core-darwin-arm64": "0.1.9",
64
- "@cascadetui/core-linux-x64": "0.1.9",
65
- "@cascadetui/core-linux-arm64": "0.1.9"
60
+ "@cascadetui/core-win32-x64": "0.1.11",
61
+ "@cascadetui/core-win32-arm64": "0.1.11",
62
+ "@cascadetui/core-darwin-x64": "0.1.11",
63
+ "@cascadetui/core-darwin-arm64": "0.1.11",
64
+ "@cascadetui/core-linux-x64": "0.1.11",
65
+ "@cascadetui/core-linux-arm64": "0.1.11"
66
66
  }
67
67
  }
@@ -41,6 +41,12 @@ export declare abstract class TextBufferRenderable extends Renderable implements
41
41
  protected _scrollX: number;
42
42
  protected _scrollY: number;
43
43
  protected _truncate: boolean;
44
+ private _measureCallCount;
45
+ private _lastMeasureReset;
46
+ private static readonly MEASURE_RESET_INTERVAL_MS;
47
+ private static readonly MAX_MEASURE_CALLS_PER_INTERVAL;
48
+ private _lastYogaMeasureKey;
49
+ private _lastYogaMeasureResult;
44
50
  protected textBuffer: TextBuffer;
45
51
  protected textBufferView: TextBufferView;
46
52
  protected _textBufferSyntaxStyle: SyntaxStyle;
package/renderer.d.ts CHANGED
@@ -146,6 +146,8 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
146
146
  private _isDestroyed;
147
147
  private _destroyPending;
148
148
  private _destroyFinalized;
149
+ private destroyTimeoutId;
150
+ private readonly destroyTimeoutMs;
149
151
  nextRenderBuffer: OptimizedBuffer;
150
152
  currentRenderBuffer: OptimizedBuffer;
151
153
  private _isRunning;
@@ -183,10 +185,17 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
183
185
  private minTargetFrameTime;
184
186
  private immediateRerenderRequested;
185
187
  private updateScheduled;
188
+ private consecutiveImmediateRerenders;
189
+ private lastImmediateRerenderTime;
190
+ private readonly maxConsecutiveImmediateRerenders;
191
+ private readonly immediateRerenderResetMs;
186
192
  private liveRequestCounter;
187
193
  private _controlState;
188
194
  private frameCallbacks;
189
195
  private renderStats;
196
+ private frameBreakdownBuffer;
197
+ private frameBreakdownMaxSize;
198
+ private traceFrameBreakdown;
190
199
  debugOverlay: {
191
200
  enabled: any;
192
201
  corner: DebugOverlayCorner;
@@ -389,6 +398,11 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
389
398
  private internalStop;
390
399
  destroy(): void;
391
400
  private finalizeDestroy;
401
+ /**
402
+ * Dump frame breakdown buffer for debugging freezes
403
+ * Called automatically on crash when CASCADE_TRACE_FRAME_BREAKDOWN is enabled
404
+ */
405
+ dumpFrameBreakdown(): string;
392
406
  private startRenderLoop;
393
407
  private loop;
394
408
  intermediateRender(): void;
package/testing.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  CliRenderer,
5
5
  TreeSitterClient,
6
6
  resolveRenderLib
7
- } from "./index-9j6zba34.js";
7
+ } from "./index-gv8mtakv.js";
8
8
 
9
9
  // src/testing/test-renderer.ts
10
10
  import { Readable } from "stream";