restty 0.1.23 → 0.1.25

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 (164) hide show
  1. package/dist/{chunk-mkkhfg0z.js → chunk-pab3ge3d.js} +11446 -7806
  2. package/dist/fonts/index.d.ts +4 -1
  3. package/dist/fonts/manager/classification.d.ts +13 -0
  4. package/dist/fonts/manager/entries.d.ts +13 -0
  5. package/dist/fonts/manager/picker.d.ts +6 -0
  6. package/dist/fonts/manager/sources.d.ts +16 -0
  7. package/dist/fonts/types.d.ts +20 -10
  8. package/dist/grid/grid.d.ts +5 -3
  9. package/dist/ime/ime.d.ts +13 -0
  10. package/dist/index.d.ts +3 -3
  11. package/dist/input/index.d.ts +1 -1
  12. package/dist/input/keymap/before-input.d.ts +4 -0
  13. package/dist/input/keymap/constants.d.ts +13 -0
  14. package/dist/input/keymap/control.d.ts +2 -0
  15. package/dist/input/keymap/default-mapping.d.ts +1 -0
  16. package/dist/input/keymap/kitty.d.ts +1 -0
  17. package/dist/input/keymap/normalization.d.ts +4 -0
  18. package/dist/input/keymap/pty-map.d.ts +4 -0
  19. package/dist/input/keymap.d.ts +2 -11
  20. package/dist/input/output/csi.d.ts +33 -0
  21. package/dist/input/{output.d.ts → output/index.d.ts} +6 -9
  22. package/dist/input/output/osc.d.ts +15 -0
  23. package/dist/input/output/prompt.d.ts +11 -0
  24. package/dist/input/types.d.ts +13 -0
  25. package/dist/internal.d.ts +4 -4
  26. package/dist/internal.js +13 -150
  27. package/dist/renderer/index.d.ts +7 -2
  28. package/dist/renderer/shaders/glyph-gl.d.ts +4 -0
  29. package/dist/renderer/{shaders.d.ts → shaders/glyph-wgsl.d.ts} +0 -10
  30. package/dist/renderer/shaders/rect.d.ts +6 -0
  31. package/dist/renderer/shapes/block-elements.d.ts +3 -0
  32. package/dist/renderer/shapes/box-drawing/dashed-lines.d.ts +3 -0
  33. package/dist/renderer/shapes/box-drawing/diagonal.d.ts +2 -0
  34. package/dist/renderer/shapes/box-drawing/draw-box-drawing.d.ts +6 -0
  35. package/dist/renderer/shapes/box-drawing/fallback.d.ts +2 -0
  36. package/dist/renderer/shapes/box-drawing/mapped.d.ts +2 -0
  37. package/dist/renderer/shapes/box-drawing/rounded-corner.d.ts +2 -0
  38. package/dist/renderer/shapes/braille.d.ts +3 -0
  39. package/dist/renderer/shapes/classify.d.ts +18 -0
  40. package/dist/renderer/shapes/geometry.d.ts +9 -0
  41. package/dist/renderer/shapes/glyph-box.d.ts +7 -0
  42. package/dist/renderer/shapes/powerline.d.ts +3 -0
  43. package/dist/renderer/shapes/types.d.ts +38 -0
  44. package/dist/renderer/shapes.d.ts +8 -81
  45. package/dist/renderer/webgpu/buffers.d.ts +7 -0
  46. package/dist/renderer/webgpu/setup.d.ts +10 -0
  47. package/dist/renderer/webgpu/state.d.ts +15 -0
  48. package/dist/renderer/webgpu/webgl.d.ts +3 -0
  49. package/dist/restty.js +1 -1
  50. package/dist/{app → runtime}/atlas-builder.d.ts +53 -18
  51. package/dist/runtime/codepoint-utils.d.ts +12 -0
  52. package/dist/runtime/create-app-io-utils.d.ts +9 -0
  53. package/dist/runtime/create-app-symbols.d.ts +11 -0
  54. package/dist/runtime/create-app-types.d.ts +72 -0
  55. package/dist/runtime/create-runtime/atlas-debug-utils.d.ts +5 -0
  56. package/dist/runtime/create-runtime/blend-utils.d.ts +11 -0
  57. package/dist/runtime/create-runtime/color-glyph-atlas.d.ts +11 -0
  58. package/dist/runtime/create-runtime/debug-tools/create-dump-glyph-render.d.ts +2 -0
  59. package/dist/runtime/create-runtime/debug-tools/diagnose-codepoint.d.ts +2 -0
  60. package/dist/runtime/create-runtime/debug-tools/dump-atlas-for-codepoint.d.ts +2 -0
  61. package/dist/runtime/create-runtime/debug-tools/read-texture-to-image-data.d.ts +1 -0
  62. package/dist/runtime/create-runtime/debug-tools/setup-debug-expose.d.ts +2 -0
  63. package/dist/runtime/create-runtime/debug-tools/types.d.ts +63 -0
  64. package/dist/runtime/create-runtime/debug-tools.d.ts +6 -0
  65. package/dist/runtime/create-runtime/font-runtime-grid-helpers.d.ts +39 -0
  66. package/dist/runtime/create-runtime/font-runtime-helpers.d.ts +20 -0
  67. package/dist/runtime/create-runtime/font-runtime-helpers.types.d.ts +108 -0
  68. package/dist/runtime/create-runtime/font-runtime-text-helpers.d.ts +21 -0
  69. package/dist/runtime/create-runtime/font-runtime-webgpu-atlas.d.ts +26 -0
  70. package/dist/runtime/create-runtime/format-utils.d.ts +2 -0
  71. package/dist/runtime/create-runtime/input-hooks.d.ts +12 -0
  72. package/dist/runtime/create-runtime/interaction-runtime/bind-ime-events.d.ts +12 -0
  73. package/dist/runtime/create-runtime/interaction-runtime/bind-pointer-aux-handlers.d.ts +28 -0
  74. package/dist/runtime/create-runtime/interaction-runtime/bind-pointer-events.d.ts +41 -0
  75. package/dist/runtime/create-runtime/interaction-runtime/bind-pointer-up-handler.d.ts +28 -0
  76. package/dist/runtime/create-runtime/interaction-runtime/kitty-image-cache.d.ts +18 -0
  77. package/dist/runtime/create-runtime/interaction-runtime/kitty-overlay-runtime.d.ts +15 -0
  78. package/dist/runtime/create-runtime/interaction-runtime/scrollbar-runtime.d.ts +30 -0
  79. package/dist/runtime/create-runtime/interaction-runtime/types.d.ts +110 -0
  80. package/dist/runtime/create-runtime/interaction-runtime.d.ts +3 -0
  81. package/dist/runtime/create-runtime/kitty-overlay-utils.d.ts +26 -0
  82. package/dist/runtime/create-runtime/lifecycle-theme-size-canvas.d.ts +13 -0
  83. package/dist/runtime/create-runtime/lifecycle-theme-size-theme.d.ts +6 -0
  84. package/dist/runtime/create-runtime/lifecycle-theme-size.d.ts +16 -0
  85. package/dist/runtime/create-runtime/lifecycle-theme-size.types.d.ts +85 -0
  86. package/dist/runtime/create-runtime/pty-input-runtime.d.ts +45 -0
  87. package/dist/runtime/create-runtime/render-tick-webgl-context.d.ts +4 -0
  88. package/dist/runtime/create-runtime/render-tick-webgl-glyph-pipeline.d.ts +2 -0
  89. package/dist/runtime/create-runtime/render-tick-webgl-overlays.d.ts +2 -0
  90. package/dist/runtime/create-runtime/render-tick-webgl-scene.d.ts +2 -0
  91. package/dist/runtime/create-runtime/render-tick-webgl.d.ts +3 -0
  92. package/dist/runtime/create-runtime/render-tick-webgl.types.d.ts +162 -0
  93. package/dist/runtime/create-runtime/render-tick-webgpu-cell-pass.d.ts +25 -0
  94. package/dist/runtime/create-runtime/render-tick-webgpu-draw-pass.d.ts +2 -0
  95. package/dist/runtime/create-runtime/render-tick-webgpu-emit-glyphs.d.ts +2 -0
  96. package/dist/runtime/create-runtime/render-tick-webgpu-overlays-atlas.d.ts +2 -0
  97. package/dist/runtime/create-runtime/render-tick-webgpu.d.ts +3 -0
  98. package/dist/runtime/create-runtime/render-tick-webgpu.types.d.ts +386 -0
  99. package/dist/runtime/create-runtime/render-ticks.d.ts +9 -0
  100. package/dist/runtime/create-runtime/runtime-app-api.d.ts +103 -0
  101. package/dist/runtime/create-runtime/runtime-logger.d.ts +17 -0
  102. package/dist/runtime/create-runtime/runtime-reporting.d.ts +40 -0
  103. package/dist/runtime/create-runtime/shader-stage-runtime.d.ts +29 -0
  104. package/dist/runtime/create-runtime.d.ts +7 -0
  105. package/dist/runtime/font-atlas-utils/bitmap-utils.d.ts +5 -0
  106. package/dist/runtime/font-atlas-utils/glyph-atlas-builder.d.ts +29 -0
  107. package/dist/runtime/font-atlas-utils/nerd-metrics-utils.d.ts +25 -0
  108. package/dist/runtime/font-atlas-utils/packing-utils.d.ts +13 -0
  109. package/dist/runtime/overlay-scrollbar.d.ts +24 -0
  110. package/dist/runtime/pty-output-buffer.d.ts +12 -0
  111. package/dist/runtime/render-color-utils.d.ts +6 -0
  112. package/dist/runtime/render-stage-runtime.d.ts +18 -0
  113. package/dist/runtime/render-stage-shaders.d.ts +6 -0
  114. package/dist/runtime/shader-stages.d.ts +9 -0
  115. package/dist/runtime/text-decoration.d.ts +4 -0
  116. package/dist/{app → runtime}/types.d.ts +39 -1
  117. package/dist/selection/clipboard.d.ts +4 -0
  118. package/dist/selection/{selection.d.ts → core.d.ts} +0 -11
  119. package/dist/selection/index.d.ts +3 -1
  120. package/dist/selection/text.d.ts +8 -0
  121. package/dist/surface/app-factory.d.ts +3 -0
  122. package/dist/{app → surface}/pane-app-manager.d.ts +2 -2
  123. package/dist/surface/panes/default-context-menu-items.d.ts +8 -0
  124. package/dist/surface/panes/layout.d.ts +9 -0
  125. package/dist/surface/panes/manager.d.ts +2 -0
  126. package/dist/surface/panes/pane-interactions.d.ts +11 -0
  127. package/dist/surface/panes/window-events.d.ts +10 -0
  128. package/dist/{app → surface}/panes-types.d.ts +1 -1
  129. package/dist/surface/restty/active-pane-api.d.ts +23 -0
  130. package/dist/surface/restty/manager-options.d.ts +24 -0
  131. package/dist/surface/restty/pane-ops.d.ts +42 -0
  132. package/dist/surface/restty/plugin-dispatcher.d.ts +39 -0
  133. package/dist/surface/restty/plugin-ops.d.ts +24 -0
  134. package/dist/surface/restty/shader-ops.d.ts +27 -0
  135. package/dist/surface/restty-pane-handle.d.ts +70 -0
  136. package/dist/surface/restty-plugin-runtime.d.ts +57 -0
  137. package/dist/surface/restty-plugin-types.d.ts +164 -0
  138. package/dist/surface/restty-plugin-utils.d.ts +22 -0
  139. package/dist/surface/restty.d.ts +93 -0
  140. package/dist/utils/base64.d.ts +12 -0
  141. package/dist/wasm/index.d.ts +2 -1
  142. package/dist/wasm/runtime/abi.d.ts +7 -0
  143. package/dist/wasm/runtime/kitty.d.ts +2 -0
  144. package/dist/wasm/runtime/render-state.d.ts +2 -0
  145. package/dist/wasm/runtime/restty-wasm.d.ts +42 -0
  146. package/dist/wasm/{runtime.d.ts → runtime/types.d.ts} +48 -41
  147. package/dist/wasm/runtime/view-cache.d.ts +4 -0
  148. package/dist/xterm/app-options.d.ts +2 -0
  149. package/dist/xterm/dimensions.d.ts +1 -0
  150. package/dist/xterm/listeners.d.ts +5 -0
  151. package/dist/xterm.d.ts +1 -6
  152. package/dist/xterm.js +61 -63
  153. package/package.json +1 -1
  154. package/dist/app/index.d.ts +0 -9
  155. package/dist/app/panes.d.ts +0 -15
  156. package/dist/app/restty.d.ts +0 -336
  157. package/dist/fonts/manager.d.ts +0 -45
  158. package/dist/renderer/webgpu.d.ts +0 -33
  159. package/dist/restty-input.d.ts +0 -1
  160. /package/dist/{app → runtime}/clipboard-paste.d.ts +0 -0
  161. /package/dist/{app → runtime}/font-sources.d.ts +0 -0
  162. /package/dist/{app → runtime}/session.d.ts +0 -0
  163. /package/dist/{app → surface}/panes-context-menu.d.ts +0 -0
  164. /package/dist/{app → surface}/panes-styles.d.ts +0 -0
@@ -0,0 +1,16 @@
1
+ import type { LifecycleThemeSizeDeps } from "./lifecycle-theme-size.types";
2
+ export declare function createRuntimeLifecycleThemeSize(deps: LifecycleThemeSizeDeps): {
3
+ applyTheme: (theme: import("../..").GhosttyTheme | null | undefined, sourceLabel?: string) => void;
4
+ resetTheme: () => void;
5
+ replaceCanvas: () => void;
6
+ updateSize: (force?: boolean) => void;
7
+ resize: (cols: number, rows: number) => void;
8
+ scheduleSizeUpdate: () => void;
9
+ focusTypingInput: () => void;
10
+ focus: () => void;
11
+ blur: () => void;
12
+ bindFocusEvents: () => void;
13
+ bindAutoResizeEvents: () => void;
14
+ cancelScheduledSizeUpdate: () => void;
15
+ getActiveTheme: () => import("../..").GhosttyTheme | null;
16
+ };
@@ -0,0 +1,85 @@
1
+ import type { InputHandler } from "../../input";
2
+ import type { FontManagerState } from "../../fonts";
3
+ import type { Color, WebGLState, WebGPUState } from "../../renderer";
4
+ import type { GhosttyTheme } from "../../theme";
5
+ import type { ResttyWasm } from "../../wasm";
6
+ import type { ResttyAppCallbacks } from "../types";
7
+ export type ActiveState = WebGPUState | WebGLState | null;
8
+ export type GridStateRef = {
9
+ cols: number;
10
+ rows: number;
11
+ cellW: number;
12
+ cellH: number;
13
+ fontSizePx: number;
14
+ };
15
+ export type ResizeStateRef = {
16
+ active: boolean;
17
+ lastAt: number;
18
+ cols: number;
19
+ rows: number;
20
+ dpr: number;
21
+ };
22
+ export type CanvasStateSnapshot = {
23
+ width: number;
24
+ height: number;
25
+ dpr: number;
26
+ gridCols: number;
27
+ gridRows: number;
28
+ cellW: number;
29
+ cellH: number;
30
+ fontSizePx: number;
31
+ };
32
+ export type LifecycleThemeSizeDeps = {
33
+ attachCanvasEvents: boolean;
34
+ attachWindowEvents: boolean;
35
+ autoResize: boolean;
36
+ imeInput: HTMLTextAreaElement | null;
37
+ dprEl: HTMLElement | null;
38
+ sizeEl: HTMLElement | null;
39
+ callbacks: ResttyAppCallbacks | undefined;
40
+ cleanupFns: Array<() => void>;
41
+ cleanupCanvasFns: Array<() => void>;
42
+ gridState: GridStateRef;
43
+ resizeState: ResizeStateRef;
44
+ fontState: FontManagerState;
45
+ defaultBgBase: Color;
46
+ defaultFgBase: Color;
47
+ selectionBase: Color;
48
+ cursorBase: Color;
49
+ getCanvas: () => HTMLCanvasElement;
50
+ setCanvas: (canvas: HTMLCanvasElement) => void;
51
+ getCurrentDpr: () => number;
52
+ setCurrentDpr: (dpr: number) => void;
53
+ setCurrentContextType: (type: "webgpu" | "webgl2" | null) => void;
54
+ getActiveState: () => ActiveState;
55
+ getInputHandler: () => InputHandler | null;
56
+ setIsFocused: (value: boolean) => void;
57
+ getActiveTheme: () => GhosttyTheme | null;
58
+ setActiveTheme: (theme: GhosttyTheme | null) => void;
59
+ setDefaultBg: (value: Color) => void;
60
+ setDefaultFg: (value: Color) => void;
61
+ setSelectionColor: (value: Color) => void;
62
+ setCursorFallback: (value: Color) => void;
63
+ getWasmReady: () => boolean;
64
+ getWasm: () => ResttyWasm | null;
65
+ getWasmHandle: () => number;
66
+ appendLog: (line: string) => void;
67
+ bindCanvasEvents: () => void;
68
+ computeCellMetrics: () => {
69
+ cellW: number;
70
+ cellH: number;
71
+ } | null;
72
+ updateGrid: () => void;
73
+ syncKittyOverlaySize: () => void;
74
+ scheduleTerminalResizeCommit: (cols: number, rows: number, options?: {
75
+ immediate?: boolean;
76
+ }) => void;
77
+ sendKeyInput: (text: string, source?: string) => void;
78
+ clearWebGLShaderStages: (state?: WebGLState) => void;
79
+ destroyWebGLStageTargets: (state?: WebGLState) => void;
80
+ destroyWebGPUStageTargets: () => void;
81
+ detachKittyOverlayCanvas: () => void;
82
+ setShaderStagesDirty: (value: boolean) => void;
83
+ markNeedsRender: () => void;
84
+ resetLastRenderTime: () => void;
85
+ };
@@ -0,0 +1,45 @@
1
+ import type { InputHandler } from "../../input";
2
+ import type { PtyTransport } from "../../pty";
3
+ import type { PtyOutputBufferController } from "../pty-output-buffer";
4
+ type CursorPosition = {
5
+ row: number;
6
+ col: number;
7
+ };
8
+ type SendInput = (text: string, source?: string, options?: {
9
+ skipHooks?: boolean;
10
+ }) => void;
11
+ export type CreatePtyInputRuntimeOptions = {
12
+ ptyTransport: PtyTransport;
13
+ ptyOutputBuffer: PtyOutputBufferController;
14
+ inputHandler: InputHandler;
15
+ ptyStatusEl?: HTMLElement | null;
16
+ mouseStatusEl?: HTMLElement | null;
17
+ onPtyStatus?: ((status: string) => void) | null;
18
+ onMouseStatus?: ((status: string) => void) | null;
19
+ appendLog: (line: string) => void;
20
+ getGridSize: () => {
21
+ cols: number;
22
+ rows: number;
23
+ };
24
+ getCursorForCpr: () => CursorPosition;
25
+ sendInput: SendInput;
26
+ runBeforeInputHook: (text: string, source: string) => string | null;
27
+ shouldClearSelection: () => boolean;
28
+ clearSelection: () => void;
29
+ syncOutputResetMs: number;
30
+ syncOutputResetSeq: string;
31
+ };
32
+ export type PtyInputRuntime = {
33
+ setPtyStatus: (text: string) => void;
34
+ updateMouseStatus: () => void;
35
+ scheduleSyncOutputReset: () => void;
36
+ cancelSyncOutputReset: () => void;
37
+ connectPty: (url?: string) => void;
38
+ disconnectPty: () => void;
39
+ sendKeyInput: (text: string, source?: string) => void;
40
+ sendPasteText: (text: string) => void;
41
+ sendPastePayloadFromDataTransfer: (dataTransfer: DataTransfer | null | undefined) => boolean;
42
+ getCprPosition: () => CursorPosition;
43
+ };
44
+ export declare function createPtyInputRuntime(options: CreatePtyInputRuntimeOptions): PtyInputRuntime;
45
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { WebGLState } from "../../renderer";
2
+ import type { WebGLTickContext, WebGLTickDeps } from "./render-tick-webgl.types";
3
+ export type { WebGLTickContext } from "./render-tick-webgl.types";
4
+ export declare function buildWebGLTickContext(deps: WebGLTickDeps, state: WebGLState): WebGLTickContext | null;
@@ -0,0 +1,2 @@
1
+ import type { WebGLTickContext } from "./render-tick-webgl.types";
2
+ export declare function renderWebGLGlyphPipeline(ctx: WebGLTickContext): void;
@@ -0,0 +1,2 @@
1
+ import type { WebGLTickContext } from "./render-tick-webgl-context";
2
+ export declare function populateWebGLOverlays(ctx: WebGLTickContext): void;
@@ -0,0 +1,2 @@
1
+ import type { WebGLTickContext } from "./render-tick-webgl-context";
2
+ export declare function populateWebGLSceneData(ctx: WebGLTickContext): void;
@@ -0,0 +1,3 @@
1
+ import type { WebGLState } from "../../renderer";
2
+ import type { WebGLTickDeps } from "./render-tick-webgl.types";
3
+ export declare function tickWebGL(deps: WebGLTickDeps, state: WebGLState): void;
@@ -0,0 +1,162 @@
1
+ import type { FontEntry } from "../../fonts";
2
+ import type { Color, WebGLState } from "../../renderer";
3
+ import type { CursorInfo, RenderState } from "../../wasm";
4
+ import type { CompiledWebGLShaderStage, WebGLStageTargets } from "../create-app-types";
5
+ import type { BuildFontAtlasParams, BuildFontAtlasResult, GlyphConstraintMeta } from "../atlas-builder";
6
+ import type { AlphaBlendingMode } from "./blend-utils";
7
+ import type { CursorPosition, GlyphQueueItem, NerdMetrics, SharedTickDeps, WebGPURenderInput } from "./render-tick-webgpu.types";
8
+ type AtlasBuilderDeps = BuildFontAtlasParams["deps"];
9
+ export type WebGLTickDeps = SharedTickDeps & {
10
+ isShaderStagesDirty: () => boolean;
11
+ rebuildWebGLShaderStages: (state: WebGLState) => void;
12
+ setShaderStagesDirty: (value: boolean) => void;
13
+ getCompiledWebGLShaderStages: () => CompiledWebGLShaderStage[];
14
+ ensureWebGLStageTargets: (state: WebGLState) => WebGLStageTargets | null;
15
+ fontError: Error | null;
16
+ termDebug: HTMLElement | null;
17
+ reportDebugText: (text: string) => void;
18
+ updateGrid: () => void;
19
+ getRenderState: () => RenderState | null;
20
+ clearKittyOverlay: () => void;
21
+ resolveBlendFlags: (alphaMode: AlphaBlendingMode, backend: "webgl2") => {
22
+ useLinearBlending: boolean;
23
+ useLinearCorrection: boolean;
24
+ };
25
+ alphaBlending: AlphaBlendingMode;
26
+ reportTermSize: (cols: number, rows: number) => void;
27
+ resolveCursorPosition: (cursor: CursorInfo | null) => CursorPosition | null;
28
+ reportCursor: (cursor: {
29
+ col: number;
30
+ row: number;
31
+ } | null) => void;
32
+ FORCE_CURSOR_BLINK: boolean;
33
+ CURSOR_BLINK_MS: number;
34
+ imeInput: HTMLTextAreaElement | null;
35
+ resolveCursorStyle: (cursor: CursorInfo, opts: {
36
+ focused: boolean;
37
+ preedit: boolean;
38
+ blinkVisible: boolean;
39
+ }) => number | null;
40
+ isFocused: boolean;
41
+ imeState: {
42
+ preedit: string;
43
+ selectionStart: number;
44
+ selectionEnd: number;
45
+ };
46
+ resolveImeAnchor: (cursor: CursorPosition | null, cols: number, rows: number) => {
47
+ row: number;
48
+ col: number;
49
+ } | null;
50
+ gridState: {
51
+ cellW: number;
52
+ cellH: number;
53
+ fontSizePx: number;
54
+ scale: number;
55
+ lineHeight: number;
56
+ baselineOffset: number;
57
+ yPad: number;
58
+ };
59
+ updateImePosition: (cursor: {
60
+ row: number;
61
+ col: number;
62
+ }, cellW: number, cellH: number) => void;
63
+ canvas: HTMLCanvasElement;
64
+ buildFontAtlasIfNeeded: (params: BuildFontAtlasParams) => BuildFontAtlasResult;
65
+ resolveGlyphPixelMode: AtlasBuilderDeps["resolveGlyphPixelMode"];
66
+ atlasBitmapToRGBA: AtlasBuilderDeps["atlasBitmapToRGBA"];
67
+ padAtlasRGBA: AtlasBuilderDeps["padAtlasRGBA"];
68
+ buildAtlas: AtlasBuilderDeps["buildAtlas"];
69
+ buildGlyphAtlasWithConstraints: AtlasBuilderDeps["buildGlyphAtlasWithConstraints"];
70
+ buildColorEmojiAtlasWithCanvas: AtlasBuilderDeps["buildColorEmojiAtlasWithCanvas"];
71
+ rasterizeGlyph: AtlasBuilderDeps["rasterizeGlyph"];
72
+ rasterizeGlyphWithTransform: AtlasBuilderDeps["rasterizeGlyphWithTransform"];
73
+ nerdConstraintSignature: AtlasBuilderDeps["nerdConstraintSignature"];
74
+ ATLAS_PADDING: number;
75
+ SYMBOL_ATLAS_PADDING: number;
76
+ SYMBOL_ATLAS_MAX_SIZE: number;
77
+ PixelMode: {
78
+ RGBA?: number;
79
+ };
80
+ ensureGLInstanceBuffer: (state: WebGLState, kind: "rect" | "glyph", minBytes: number) => void;
81
+ GLYPH_INSTANCE_FLOATS: number;
82
+ wasmHandle: number;
83
+ lastRenderState: RenderState | null;
84
+ };
85
+ export type WebGLCursorCell = {
86
+ row: number;
87
+ col: number;
88
+ wide: boolean;
89
+ };
90
+ export type WebGLTickContext = {
91
+ deps: WebGLTickDeps;
92
+ state: WebGLState;
93
+ rows: number;
94
+ cols: number;
95
+ codepoints: WebGPURenderInput["codepoints"];
96
+ contentTags: WebGPURenderInput["contentTags"];
97
+ wide: WebGPURenderInput["wide"];
98
+ styleFlags: WebGPURenderInput["styleFlags"];
99
+ linkIds: WebGPURenderInput["linkIds"];
100
+ fgBytes: WebGPURenderInput["fgBytes"];
101
+ bgBytes: WebGPURenderInput["bgBytes"];
102
+ ulBytes: WebGPURenderInput["ulBytes"];
103
+ ulStyle: WebGPURenderInput["ulStyle"];
104
+ graphemeOffset: WebGPURenderInput["graphemeOffset"];
105
+ graphemeLen: WebGPURenderInput["graphemeLen"];
106
+ graphemeBuffer: WebGPURenderInput["graphemeBuffer"];
107
+ cursor: RenderState["cursor"];
108
+ mergedEmojiSkip: Uint8Array;
109
+ readCellCluster: (cellIndex: number) => {
110
+ cp: number;
111
+ text: string;
112
+ span: number;
113
+ } | null;
114
+ useLinearBlending: boolean;
115
+ useLinearCorrection: boolean;
116
+ blinkVisible: boolean;
117
+ cursorPos: CursorPosition | null;
118
+ cursorStyle: number | null;
119
+ cursorCell: WebGLCursorCell | null;
120
+ cursorImeAnchor: {
121
+ row: number;
122
+ col: number;
123
+ } | null;
124
+ cellW: number;
125
+ cellH: number;
126
+ fontSizePx: number;
127
+ primaryEntry: FontEntry | undefined;
128
+ primaryScale: number;
129
+ lineHeight: number;
130
+ baselineOffset: number;
131
+ yPad: number;
132
+ underlineOffsetPx: number;
133
+ underlineThicknessPx: number;
134
+ bgData: number[];
135
+ selectionData: number[];
136
+ underlineData: number[];
137
+ cursorData: number[];
138
+ fgRectData: number[];
139
+ overlayData: number[];
140
+ glyphDataByFont: Map<number, number[]>;
141
+ glyphQueueByFont: Map<number, GlyphQueueItem[]>;
142
+ overlayGlyphDataByFont: Map<number, number[]>;
143
+ overlayGlyphQueueByFont: Map<number, GlyphQueueItem[]>;
144
+ neededGlyphIdsByFont: Map<number, Set<number>>;
145
+ neededGlyphMetaByFont: Map<number, Map<number, GlyphConstraintMeta>>;
146
+ fgColorCache: Map<number, Color>;
147
+ bgColorCache: Map<number, Color>;
148
+ ulColorCache: Map<number, Color>;
149
+ scaleByFont: number[];
150
+ bitmapScaleByFont: number[];
151
+ baselineAdjustByFont: number[];
152
+ nerdMetrics: NerdMetrics;
153
+ getGlyphQueue: (fontIndex: number) => GlyphQueueItem[];
154
+ getOverlayGlyphQueue: (fontIndex: number) => GlyphQueueItem[];
155
+ getGlyphSet: (fontIndex: number) => Set<number>;
156
+ noteGlyphMeta: (fontIndex: number, glyphId: number, cp: number, constraintWidth: number) => void;
157
+ getGlyphData: (map: Map<number, number[]>, fontIndex: number) => number[];
158
+ compiledWebGLStages: CompiledWebGLShaderStage[];
159
+ stageTargets: WebGLStageTargets | null;
160
+ hasShaderStages: boolean;
161
+ };
162
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { GlyphConstraintMeta } from "../atlas-builder";
2
+ import type { CollectWebGPUCellPassParams, GlyphQueueItem } from "./render-tick-webgpu.types";
3
+ export declare function collectWebGPUCellPass(params: CollectWebGPUCellPassParams): {
4
+ bgData: number[];
5
+ selectionData: number[];
6
+ underlineData: number[];
7
+ cursorData: number[];
8
+ fgRectData: number[];
9
+ overlayData: number[];
10
+ glyphDataNearestByFont: Map<number, number[]>;
11
+ glyphDataLinearByFont: Map<number, number[]>;
12
+ glyphQueueByFont: Map<number, GlyphQueueItem[]>;
13
+ overlayGlyphDataNearestByFont: Map<number, number[]>;
14
+ overlayGlyphDataLinearByFont: Map<number, number[]>;
15
+ overlayGlyphQueueByFont: Map<number, GlyphQueueItem[]>;
16
+ neededGlyphIdsByFont: Map<number, Set<number>>;
17
+ neededGlyphMetaByFont: Map<number, Map<number, GlyphConstraintMeta>>;
18
+ scaleByFont: number[];
19
+ bitmapScaleByFont: number[];
20
+ baselineAdjustByFont: number[];
21
+ nerdMetrics: import("./render-tick-webgpu.types").NerdMetrics;
22
+ getGlyphQueue: (fontIndex: number) => GlyphQueueItem[];
23
+ getOverlayGlyphQueue: (fontIndex: number) => GlyphQueueItem[];
24
+ getGlyphSet: (fontIndex: number) => Set<number>;
25
+ };
@@ -0,0 +1,2 @@
1
+ import type { DrawWebGPUFrameParams } from "./render-tick-webgpu.types";
2
+ export declare function drawWebGPUFrame(params: DrawWebGPUFrameParams): void;
@@ -0,0 +1,2 @@
1
+ import type { EmitWebGPUQueuedGlyphsParams } from "./render-tick-webgpu.types";
2
+ export declare function emitWebGPUQueuedGlyphs(params: EmitWebGPUQueuedGlyphsParams): void;
@@ -0,0 +1,2 @@
1
+ import type { AugmentWebGPUFrameParams } from "./render-tick-webgpu.types";
2
+ export declare function augmentWebGPUFrameWithOverlaysAndAtlas(params: AugmentWebGPUFrameParams): void;
@@ -0,0 +1,3 @@
1
+ import type { WebGPUState } from "../../renderer";
2
+ import type { RuntimeTickDeps } from "./render-tick-webgpu.types";
3
+ export declare function tickWebGPU(deps: RuntimeTickDeps, state: WebGPUState): void;