@simon_he/vue-tui 1.0.1 → 1.1.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 (128) hide show
  1. package/README.md +139 -46
  2. package/dist/TMermaidText-frVr8Ysb.js +885 -0
  3. package/dist/{TSelect-HzILuti9.js → TSelect-tJ87rKPM.js} +59 -242
  4. package/dist/{TTree-ChOot2Bh.js → TTree-CGdE-CYu.js} +138 -102
  5. package/dist/agent/mermaid.cjs +2 -0
  6. package/dist/agent/mermaid.d.cts +2 -0
  7. package/dist/agent/mermaid.d.ts +2 -0
  8. package/dist/agent/mermaid.js +1 -0
  9. package/dist/agent.cjs +31188 -24907
  10. package/dist/agent.d.cts +11 -1
  11. package/dist/agent.d.ts +11 -1
  12. package/dist/agent.js +516 -11
  13. package/dist/{block-source-CKUOnkgT.js → block-source-CrlmaBM5.js} +1039 -66
  14. package/dist/cli/input.d.ts +8 -0
  15. package/dist/cli/stdin-buffer.d.ts +1 -1
  16. package/dist/cli/video/ffmpeg-frame-source.d.ts +10 -0
  17. package/dist/cli/video/png-frame-parser.d.ts +4 -0
  18. package/dist/cli/video/raw-frame-parser.d.ts +1 -0
  19. package/dist/cli/video/yt-dlp-frame-source.d.ts +11 -0
  20. package/dist/cli.cjs +5470 -6176
  21. package/dist/cli.d.cts +6 -2
  22. package/dist/cli.d.ts +6 -2
  23. package/dist/cli.js +3747 -350
  24. package/dist/core/buffer/buffer.d.ts +2 -2
  25. package/dist/core/buffer/eaw-ranges-unicode-17.d.ts +14 -0
  26. package/dist/core/perf/instrumentation-noop.d.ts +48 -0
  27. package/dist/core/perf/instrumentation.d.ts +136 -0
  28. package/dist/core/terminal/create-terminal.d.ts +1 -0
  29. package/dist/core/types.d.ts +0 -4
  30. package/dist/core.cjs +851 -1462
  31. package/dist/core.js +4 -5
  32. package/dist/create-terminal-app.d.ts +24 -1
  33. package/dist/debug-logger-CmsGI4of.js +74 -0
  34. package/dist/{dom-renderer-BqGijQID.js → dom-renderer-DXx8fWzD.js} +2 -3
  35. package/dist/experimental/3d/bun/contributor-avatar-atlas.d.ts +12 -0
  36. package/dist/experimental/3d/bun/png.d.ts +1 -0
  37. package/dist/experimental/3d/bun/terminal-badge-scene.d.ts +11 -0
  38. package/dist/experimental/3d/bun/terminal-badge.wgsl.d.ts +1 -0
  39. package/dist/experimental/3d/bun/webgpu-renderer.d.ts +26 -0
  40. package/dist/experimental/3d/bun.cjs +7271 -0
  41. package/dist/experimental/3d/bun.d.cts +4 -0
  42. package/dist/experimental/3d/bun.d.ts +4 -0
  43. package/dist/experimental/3d/bun.js +7390 -0
  44. package/dist/experimental/video/node.cjs +497 -0
  45. package/dist/experimental/video/node.d.cts +4 -0
  46. package/dist/experimental/video/node.d.ts +4 -0
  47. package/dist/experimental/video/node.js +610 -0
  48. package/dist/experimental.cjs +6876 -6192
  49. package/dist/experimental.d.cts +7 -0
  50. package/dist/experimental.d.ts +7 -0
  51. package/dist/experimental.js +3005 -9
  52. package/dist/frame-perf-CHpWhbC4.js +111 -0
  53. package/dist/{create-terminal-C2oiWFJU.js → hyperlink-_1FAj7Wq.js} +455 -19
  54. package/dist/index.cjs +5025 -10332
  55. package/dist/index.js +14 -13
  56. package/dist/{linkify-D_gzn9Xq.js → linkify-D68T7rdW.js} +193 -3
  57. package/dist/markdown.cjs +21295 -12691
  58. package/dist/markdown.d.cts +1 -1
  59. package/dist/markdown.d.ts +1 -1
  60. package/dist/markdown.js +211 -51
  61. package/dist/mermaid-BNhM1jAZ.js +123 -0
  62. package/dist/mermaid.cjs +1707 -0
  63. package/dist/mermaid.d.cts +3 -0
  64. package/dist/mermaid.d.ts +3 -0
  65. package/dist/mermaid.js +6 -0
  66. package/dist/observability/frame-perf-store.d.ts +2 -1
  67. package/dist/observability/frame-perf.d.ts +33 -0
  68. package/dist/observability.cjs +106 -107
  69. package/dist/observability.d.cts +2 -2
  70. package/dist/observability.d.ts +2 -2
  71. package/dist/observability.js +3 -3
  72. package/dist/{wheel-scroll-vBRaQ7p-.js → rect-DUpeDfBg.js} +253 -117
  73. package/dist/renderer/cli/index.d.ts +1 -1
  74. package/dist/renderer/cli/stdout-metrics.d.ts +10 -0
  75. package/dist/renderer/cli/stdout-renderer.d.ts +53 -7
  76. package/dist/renderer/terminal-graphic-render-queue.d.ts +50 -0
  77. package/dist/renderer/terminal-graphics-trace.d.ts +53 -0
  78. package/dist/renderer/terminal-graphics.d.ts +147 -0
  79. package/dist/renderer-dom.cjs +364 -903
  80. package/dist/renderer-dom.js +4 -5
  81. package/dist/runtime/index.d.ts +2 -0
  82. package/dist/{runtime-rfcZCyJq.js → runtime-Byf8XXOT.js} +28 -15
  83. package/dist/runtime.cjs +427 -889
  84. package/dist/runtime.js +2 -2
  85. package/dist/terminal-graphics-Bbe83wSr.js +597 -0
  86. package/dist/{terminal-selection-DBinO6p5.js → terminal-selection-4W1SJj4c.js} +4 -1
  87. package/dist/{tlog-theme-CvLFNMwk.js → tlog-theme-Bul2Na3u.js} +1237 -12
  88. package/dist/{trace-CjzYeIxN.js → trace-Bh8WnoMo.js} +5 -0
  89. package/dist/vue/agent/create-png-terminal-graphic-renderer.d.ts +19 -0
  90. package/dist/vue/components/T3DViewport.d.ts +473 -0
  91. package/dist/vue/components/TAgentTerminalGraphic.d.ts +494 -0
  92. package/dist/vue/components/TCharts.d.ts +1121 -0
  93. package/dist/vue/components/TFeedback.d.ts +1 -1
  94. package/dist/vue/components/TFlex.d.ts +389 -0
  95. package/dist/vue/components/TForm.d.ts +4 -4
  96. package/dist/vue/components/TLogSearchBar.d.ts +3 -3
  97. package/dist/vue/components/TLogSearchPager.d.ts +2 -2
  98. package/dist/vue/components/TMarkdownText.d.ts +162 -4
  99. package/dist/vue/components/TMermaidText.d.ts +900 -0
  100. package/dist/vue/components/TVideo.d.ts +291 -0
  101. package/dist/vue/components/TVirtualList.d.ts +9 -0
  102. package/dist/vue/components/TVirtualMarkdown.d.ts +170 -9
  103. package/dist/vue/components/TVirtualRows.d.ts +9 -0
  104. package/dist/vue/components/TerminalProvider.d.ts +2 -0
  105. package/dist/vue/context.d.ts +24 -0
  106. package/dist/vue/index.d.ts +5 -0
  107. package/dist/vue/layout/flex.d.ts +67 -0
  108. package/dist/vue/markdown/ast.d.ts +5 -2
  109. package/dist/vue/markdown/document.d.ts +5 -0
  110. package/dist/vue/markdown/image-actions.d.ts +14 -0
  111. package/dist/vue/markdown/image.d.ts +11 -0
  112. package/dist/vue/markdown/link-actions.d.ts +14 -0
  113. package/dist/vue/markdown/math-actions.d.ts +14 -0
  114. package/dist/vue/markdown/math.d.ts +6 -0
  115. package/dist/vue/markdown/render.d.ts +28 -0
  116. package/dist/vue/markdown/types.d.ts +78 -0
  117. package/dist/vue/mermaid/beautiful-mermaid.d.ts +1436 -0
  118. package/dist/vue/render/render-manager.d.ts +7 -0
  119. package/dist/vue/video/types.d.ts +39 -0
  120. package/dist/vue.cjs +7215 -12430
  121. package/dist/vue.js +704 -38
  122. package/dist/wheel-scroll-DASkEZr-.js +106 -0
  123. package/dist/{hyperlink-Bn02UXJb.js → width-GqllnV8C.js} +166 -111
  124. package/package.json +141 -18
  125. package/dist/frame-perf-C6Xfg85O.js +0 -24
  126. package/dist/sgr-BmzxEjAO.js +0 -304
  127. /package/dist/{ansi-palette-CNXqFciC.js → ansi-palette-CH6jc2Z7.js} +0 -0
  128. /package/dist/{path-suggest-BNqcuE3-.js → path-suggest-Dndu4dTi.js} +0 -0
@@ -31,11 +31,11 @@ export declare function createGridBuffer(cols: number, rows: number, options?: R
31
31
  }>): GridBuffer;
32
32
  export declare function clamp(n: number, min: number, max: number): number;
33
33
  /**
34
- * Register a fingerprint function on the buffer. This enables SoA fingerprint
34
+ * Register or clear a fingerprint function on the buffer. This enables SoA fingerprint
35
35
  * pre-computation: cell writes will update fingerprints inline, and the renderer
36
36
  * can read them via getRowFingerprints() instead of per-cell hash computation.
37
37
  */
38
- export declare function setFingerprintFn(buffer: GridBuffer, fn: CellFingerprintFn): void;
38
+ export declare function setFingerprintFn(buffer: GridBuffer, fn: CellFingerprintFn | null): void;
39
39
  /**
40
40
  * Get pre-computed fingerprints for a logical row as a TypedArray slice.
41
41
  * Returns null if fingerprinting is not enabled on this buffer.
@@ -0,0 +1,14 @@
1
+ /**
2
+ * East Asian Width ranges generated from Unicode 17.0.0
3
+ * Source: https://www.unicode.org/Public/17.0.0/ucd/EastAsianWidth.txt
4
+ * SHA-256: ea7ce50f3444a050333448dffef1cadd9325af55cbb764b4a2280faf52170a33
5
+ *
6
+ * Data derived from Unicode EastAsianWidth.txt.
7
+ * © Unicode, Inc. See Unicode terms of use: https://www.unicode.org/terms_of_use.html
8
+ *
9
+ * DO NOT EDIT MANUALLY - regenerate with: pnpm run unicode:eaw:generate
10
+ */
11
+ export declare const EAW_UNICODE_VERSION = "17.0.0";
12
+ export declare const EAW_SOURCE_SHA256 = "ea7ce50f3444a050333448dffef1cadd9325af55cbb764b4a2280faf52170a33";
13
+ export declare const fullWidthRanges: Array<[number, number]>;
14
+ export declare const ambiguousWidthRanges: Array<[number, number]>;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * No-op instrumentation stub for production builds
3
+ *
4
+ * This module provides empty implementations of all instrumentation
5
+ * functions to enable complete tree-shaking in production.
6
+ */
7
+ export declare const cellInstr: {
8
+ recordCreateCellCall: () => void;
9
+ recordCharCellWidthCall: () => void;
10
+ recordCacheHit: (_arg: any) => void;
11
+ recordCacheMiss: (_arg: any) => void;
12
+ recordNewCell: () => void;
13
+ recordBlankCacheHit: () => void;
14
+ recordBlankCacheMiss: () => void;
15
+ recordContinuationCacheHit: () => void;
16
+ recordContinuationCacheMiss: () => void;
17
+ recordCacheClear: (_arg: any) => void;
18
+ registerCacheBucket: (..._args: any[]) => void;
19
+ updateMaxCacheSize: (..._args: any[]) => void;
20
+ };
21
+ export declare const textInstr: {
22
+ recordTextCellWidthCall: (..._args: any[]) => void;
23
+ recordRenderPassCacheHit: () => void;
24
+ recordRenderPassCacheMiss: () => void;
25
+ recordTextWidthCacheHit: () => void;
26
+ recordTextWidthCacheMiss: () => void;
27
+ recordTextWidthCacheSet: () => void;
28
+ recordTextWidthCacheEvict: () => void;
29
+ recordWrapByCellsCall: () => void;
30
+ recordWrapCacheHit: () => void;
31
+ recordWrapCacheMiss: () => void;
32
+ recordWrapCacheClear: () => void;
33
+ recordWrapCacheSet: () => void;
34
+ recordWrapWidthBucketMapClear: () => void;
35
+ };
36
+ export declare const graphemeInstr: {
37
+ recordSegmentedGraphemesCall: () => void;
38
+ recordSegmentationRequiredInput: () => void;
39
+ recordIntlSegmenterUsed: () => void;
40
+ recordFallbackSegmenterUsed: () => void;
41
+ };
42
+ export declare const isInstrumentationEnabled: () => boolean;
43
+ export declare const enableInstrumentation: () => void;
44
+ export declare const disableInstrumentation: () => void;
45
+ export declare const resetMetrics: () => void;
46
+ export declare const getMetrics: () => any;
47
+ export declare const getHeapUsed: () => null;
48
+ export declare const getMetricsWithHeap: () => any;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Debug performance instrumentation (Phase 3)
3
+ *
4
+ * Collection is disabled by default. Hook functions are called from
5
+ * production hot paths even when disabled. Disabled-path runtime and
6
+ * bundle overhead are tracked separately and must not be assumed negligible.
7
+ *
8
+ * See issue #119 for validation status.
9
+ */
10
+ export interface CellCacheMetrics {
11
+ createCellCalls: number;
12
+ charCellWidthCallsFromCreateCell: number;
13
+ newCellCount: number;
14
+ cellCacheHitWidth1: number;
15
+ cellCacheHitWidth2: number;
16
+ cellCacheMissWidth1: number;
17
+ cellCacheMissWidth2: number;
18
+ cellCacheClearWidth1: number;
19
+ cellCacheClearWidth2: number;
20
+ blankCellCacheHit: number;
21
+ blankCellCacheMiss: number;
22
+ continuationCellCacheHit: number;
23
+ continuationCellCacheMiss: number;
24
+ maxCacheSizeWidth1: number;
25
+ maxCacheSizeWidth2: number;
26
+ registeredBucketCountWidth1: number;
27
+ registeredBucketCountWidth2: number;
28
+ registeredBucketSizeP50Width1: number;
29
+ registeredBucketSizeP95Width1: number;
30
+ registeredBucketSizeMaxWidth1: number;
31
+ registeredBucketSizeP50Width2: number;
32
+ registeredBucketSizeP95Width2: number;
33
+ registeredBucketSizeMaxWidth2: number;
34
+ estimatedRegisteredBucketCells: number;
35
+ }
36
+ export interface TextCacheMetrics {
37
+ textCellWidthCalls: number;
38
+ textWidthCacheHit: number;
39
+ textWidthCacheMiss: number;
40
+ textWidthCacheSet: number;
41
+ textWidthCacheEvict: number;
42
+ renderPassTextWidthCacheHit: number;
43
+ renderPassTextWidthCacheMiss: number;
44
+ wrapByCellsCalls: number;
45
+ wrapCacheHit: number;
46
+ wrapCacheMiss: number;
47
+ wrapCacheSet: number;
48
+ wrapCacheClear: number;
49
+ wrapWidthBucketMapClear: number;
50
+ maxTextLength: number;
51
+ totalTextLength: number;
52
+ asciiFastPathCount: number;
53
+ nonAsciiOrNoFastPathCount: number;
54
+ }
55
+ export interface GraphemeMetrics {
56
+ graphemeSegmentationRequiredCalls: number;
57
+ intlSegmenterUsed: number;
58
+ fallbackSegmenterUsed: number;
59
+ segmentationRequiredInputCount: number;
60
+ }
61
+ export interface PerformanceMetrics {
62
+ cell: CellCacheMetrics;
63
+ text: TextCacheMetrics;
64
+ grapheme: GraphemeMetrics;
65
+ heapUsedBefore?: number;
66
+ heapUsedAfter?: number;
67
+ gcCount?: number;
68
+ }
69
+ /**
70
+ * Enable instrumentation collection
71
+ */
72
+ export declare function enableInstrumentation(): void;
73
+ /**
74
+ * Disable instrumentation collection
75
+ */
76
+ export declare function disableInstrumentation(): void;
77
+ /**
78
+ * Check if instrumentation is enabled
79
+ */
80
+ export declare function isInstrumentationEnabled(): boolean;
81
+ /**
82
+ * Reset all metrics to zero
83
+ */
84
+ export declare function resetMetrics(): void;
85
+ /**
86
+ * Get current metrics snapshot
87
+ */
88
+ export declare function getMetrics(): PerformanceMetrics;
89
+ /**
90
+ * Get heap used bytes (Node.js or Chrome)
91
+ */
92
+ export declare function getHeapUsed(): number | null;
93
+ /**
94
+ * Get metrics with heap information
95
+ *
96
+ * Note: heapUsedBefore/After measures GC impact, not workload memory.
97
+ * To measure workload memory, call getHeapUsed() before/after your workload.
98
+ */
99
+ export declare function getMetricsWithHeap(): PerformanceMetrics;
100
+ export declare const cellInstr: {
101
+ recordCreateCellCall(): void;
102
+ recordCharCellWidthCall(): void;
103
+ recordNewCell(): void;
104
+ recordCacheHit(width: 1 | 2): void;
105
+ recordCacheMiss(width: 1 | 2): void;
106
+ recordCacheClear(width: 1 | 2): void;
107
+ recordBlankCacheHit(): void;
108
+ recordBlankCacheMiss(): void;
109
+ recordContinuationCacheHit(): void;
110
+ recordContinuationCacheMiss(): void;
111
+ updateMaxCacheSize(width: 1 | 2, size: number): void;
112
+ registerCacheBucket(width: 1 | 2, bucket: Map<string, any>): void;
113
+ updateBucketCounts(width1Count: number, width2Count: number): void;
114
+ updateEstimatedRetainedCells(count: number): void;
115
+ };
116
+ export declare const textInstr: {
117
+ recordTextCellWidthCall(textLength: number, isAscii: boolean): void;
118
+ recordTextWidthCacheHit(): void;
119
+ recordTextWidthCacheMiss(): void;
120
+ recordTextWidthCacheSet(): void;
121
+ recordTextWidthCacheEvict(): void;
122
+ recordRenderPassCacheHit(): void;
123
+ recordRenderPassCacheMiss(): void;
124
+ recordWrapByCellsCall(): void;
125
+ recordWrapCacheHit(): void;
126
+ recordWrapCacheMiss(): void;
127
+ recordWrapCacheSet(): void;
128
+ recordWrapCacheClear(): void;
129
+ recordWrapWidthBucketMapClear(): void;
130
+ };
131
+ export declare const graphemeInstr: {
132
+ recordSegmentedGraphemesCall(): void;
133
+ recordIntlSegmenterUsed(): void;
134
+ recordFallbackSegmenterUsed(): void;
135
+ recordSegmentationRequiredInput(): void;
136
+ };
@@ -1,5 +1,6 @@
1
1
  import type { TerminalRenderPlane, TerminalRenderPlanes } from "../render-plane.js";
2
2
  import type { Cell, Terminal, TerminalOptions } from "../types.js";
3
+ export declare function getRootTerminal(terminal: Terminal): Terminal;
3
4
  export declare function getPlaneTerminal(terminal: Terminal, plane: TerminalRenderPlane): Terminal;
4
5
  export declare function readTerminalRowForPlanes(terminal: Terminal, y: number, planes?: TerminalRenderPlanes | null): readonly Cell[];
5
6
  export declare function resetPlaneRowsForRender(terminal: Terminal, plane: TerminalRenderPlane, dirtyRows: readonly number[] | null): void;
@@ -100,8 +100,4 @@ export interface Terminal {
100
100
  getRow: (y: number) => readonly Cell[];
101
101
  setScrollbackLimit: (limit: number) => void;
102
102
  getScrollbackLines: (count?: number) => readonly string[];
103
- /** Register fingerprint function for SoA pre-computation on the composite buffer. */
104
- setFingerprintFn: (fn: (ch: string, style: Style) => number) => void;
105
- /** Get pre-computed fingerprints for a composite buffer row (null if not enabled). */
106
- getRowFingerprints: (y: number) => Uint32Array | null;
107
103
  }