@blit-sh/core 0.19.0 → 0.21.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 (58) hide show
  1. package/dist/BlitConnection.d.ts +16 -2
  2. package/dist/BlitConnection.d.ts.map +1 -1
  3. package/dist/BlitConnection.js +183 -8
  4. package/dist/BlitConnection.js.map +1 -1
  5. package/dist/BlitSurfaceCanvas.d.ts +122 -0
  6. package/dist/BlitSurfaceCanvas.d.ts.map +1 -0
  7. package/dist/BlitSurfaceCanvas.js +582 -0
  8. package/dist/BlitSurfaceCanvas.js.map +1 -0
  9. package/dist/BlitTerminalSurface.d.ts +12 -0
  10. package/dist/BlitTerminalSurface.d.ts.map +1 -1
  11. package/dist/BlitTerminalSurface.js +51 -1
  12. package/dist/BlitTerminalSurface.js.map +1 -1
  13. package/dist/BlitWorkspace.d.ts +2 -0
  14. package/dist/BlitWorkspace.d.ts.map +1 -1
  15. package/dist/BlitWorkspace.js +27 -0
  16. package/dist/BlitWorkspace.js.map +1 -1
  17. package/dist/SurfaceStore.d.ts +69 -0
  18. package/dist/SurfaceStore.d.ts.map +1 -0
  19. package/dist/SurfaceStore.js +494 -0
  20. package/dist/SurfaceStore.js.map +1 -0
  21. package/dist/TerminalStore.d.ts.map +1 -1
  22. package/dist/TerminalStore.js +4 -1
  23. package/dist/TerminalStore.js.map +1 -1
  24. package/dist/bsp/index.d.ts +1 -1
  25. package/dist/bsp/index.d.ts.map +1 -1
  26. package/dist/bsp/index.js +1 -1
  27. package/dist/bsp/index.js.map +1 -1
  28. package/dist/bsp/layout.d.ts +9 -1
  29. package/dist/bsp/layout.d.ts.map +1 -1
  30. package/dist/bsp/layout.js +36 -4
  31. package/dist/bsp/layout.js.map +1 -1
  32. package/dist/gl-renderer.d.ts +6 -0
  33. package/dist/gl-renderer.d.ts.map +1 -1
  34. package/dist/gl-renderer.js +132 -0
  35. package/dist/gl-renderer.js.map +1 -1
  36. package/dist/index.d.ts +7 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +4 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/keyboard.d.ts +6 -0
  41. package/dist/keyboard.d.ts.map +1 -1
  42. package/dist/keyboard.js +25 -0
  43. package/dist/keyboard.js.map +1 -1
  44. package/dist/protocol.d.ts +19 -0
  45. package/dist/protocol.d.ts.map +1 -1
  46. package/dist/protocol.js +124 -1
  47. package/dist/protocol.js.map +1 -1
  48. package/dist/transports/webrtc-share.d.ts.map +1 -1
  49. package/dist/transports/webrtc-share.js +209 -62
  50. package/dist/transports/webrtc-share.js.map +1 -1
  51. package/dist/transports/webtransport.d.ts.map +1 -1
  52. package/dist/transports/webtransport.js +3 -1
  53. package/dist/transports/webtransport.js.map +1 -1
  54. package/dist/types.d.ts +41 -0
  55. package/dist/types.d.ts.map +1 -1
  56. package/dist/types.js +29 -0
  57. package/dist/types.js.map +1 -1
  58. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bsp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bsp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,UAAU,CAAC"}
@@ -13,6 +13,12 @@ export interface BSPAssignments {
13
13
  assignments: Record<string, string | null>;
14
14
  }
15
15
  export declare const PRESETS: BSPLayout[];
16
+ /** Create a BSP assignment value representing a compositor surface. */
17
+ export declare function surfaceAssignment(surfaceId: number): string;
18
+ /** Check whether a BSP assignment value represents a surface. */
19
+ export declare function isSurfaceAssignment(value: string | null): boolean;
20
+ /** Extract the numeric surface ID from a surface assignment string, or null. */
21
+ export declare function parseSurfaceAssignment(value: string | null): number | null;
16
22
  export declare function enumeratePanes(node: BSPNode, path?: readonly number[]): BSPPane[];
17
23
  export declare function assignSessionsToPanes(panes: readonly BSPPane[], orderedSessionIds: readonly string[]): BSPAssignments;
18
24
  export declare function buildCandidateOrder({ liveSessionIds, focusedSessionId, currentAssignedInPaneOrder, lruSessionIds, }: {
@@ -21,11 +27,13 @@ export declare function buildCandidateOrder({ liveSessionIds, focusedSessionId,
21
27
  currentAssignedInPaneOrder?: readonly string[];
22
28
  lruSessionIds?: readonly string[];
23
29
  }): string[];
24
- export declare function reconcileAssignments({ panes, previous, liveSessionIds, knownSessionIds, }: {
30
+ export declare function reconcileAssignments({ panes, previous, liveSessionIds, knownSessionIds, liveSurfaceIds, }: {
25
31
  panes: readonly BSPPane[];
26
32
  previous: BSPAssignments;
27
33
  liveSessionIds: readonly string[];
28
34
  knownSessionIds: readonly string[];
35
+ /** When provided, surface assignments for destroyed surfaces are cleared. */
36
+ liveSurfaceIds?: readonly number[];
29
37
  }): BSPAssignments;
30
38
  export declare function adjustWeights(split: BSPSplit, indexA: number, indexB: number, fraction: number): BSPSplit;
31
39
  export declare function layoutFromDSL(dsl: string): BSPLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/bsp/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAY,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,EAQ9B,CAAC;AAMF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,SAAS,MAAM,EAAO,GAC3B,OAAO,EAAE,CAYX;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,cAAc,CAWhB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,cAAc,EACd,gBAAgB,EAChB,0BAA+B,EAC/B,aAAkB,GACnB,EAAE;IACD,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,MAAM,EAAE,CAiBX;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,cAAc,EACd,eAAe,GAChB,EAAE;IACD,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GAAG,cAAc,CAajB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,QAAQ,CAgBV;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAGpD"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/bsp/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAY,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,EAQ9B,CAAC;AAYF,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAEjE;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAI1E;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,SAAS,MAAM,EAAO,GAC3B,OAAO,EAAE,CAYX;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,cAAc,CAWhB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,cAAc,EACd,gBAAgB,EAChB,0BAA+B,EAC/B,aAAkB,GACnB,EAAE;IACD,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,MAAM,EAAE,CAiBX;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,cAAc,EACd,eAAe,EACf,cAAc,GACf,EAAE;IACD,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,6EAA6E;IAC7E,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GAAG,cAAc,CAwBjB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,QAAQ,CAgBV;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAGpD"}
@@ -11,6 +11,25 @@ export const PRESETS = [
11
11
  function preset(name, dsl) {
12
12
  return { name, dsl, ...parseDSL(dsl) };
13
13
  }
14
+ // ---------------------------------------------------------------------------
15
+ // Surface assignment helpers
16
+ // ---------------------------------------------------------------------------
17
+ const SURFACE_PREFIX = "surface:";
18
+ /** Create a BSP assignment value representing a compositor surface. */
19
+ export function surfaceAssignment(surfaceId) {
20
+ return `${SURFACE_PREFIX}${surfaceId}`;
21
+ }
22
+ /** Check whether a BSP assignment value represents a surface. */
23
+ export function isSurfaceAssignment(value) {
24
+ return value != null && value.startsWith(SURFACE_PREFIX);
25
+ }
26
+ /** Extract the numeric surface ID from a surface assignment string, or null. */
27
+ export function parseSurfaceAssignment(value) {
28
+ if (value == null || !value.startsWith(SURFACE_PREFIX))
29
+ return null;
30
+ const n = parseInt(value.slice(SURFACE_PREFIX.length), 10);
31
+ return Number.isFinite(n) ? n : null;
32
+ }
14
33
  export function enumeratePanes(node, path = []) {
15
34
  if (node.type === "leaf") {
16
35
  return [
@@ -51,14 +70,27 @@ export function buildCandidateOrder({ liveSessionIds, focusedSessionId, currentA
51
70
  liveSessionIds.forEach(push);
52
71
  return ordered;
53
72
  }
54
- export function reconcileAssignments({ panes, previous, liveSessionIds, knownSessionIds, }) {
73
+ export function reconcileAssignments({ panes, previous, liveSessionIds, knownSessionIds, liveSurfaceIds, }) {
55
74
  const live = new Set(liveSessionIds);
56
75
  const known = new Set(knownSessionIds);
76
+ const liveSurfaces = liveSurfaceIds ? new Set(liveSurfaceIds) : null;
57
77
  const assignments = {};
58
78
  for (const pane of panes) {
59
- const sessionId = previous.assignments[pane.id];
60
- const keep = sessionId != null && (live.has(sessionId) || !known.has(sessionId));
61
- assignments[pane.id] = keep ? sessionId : null;
79
+ const value = previous.assignments[pane.id];
80
+ if (isSurfaceAssignment(value)) {
81
+ // Remove surface assignments when the surface no longer exists.
82
+ if (liveSurfaces) {
83
+ const sid = parseSurfaceAssignment(value);
84
+ assignments[pane.id] =
85
+ sid != null && liveSurfaces.has(sid) ? value : null;
86
+ }
87
+ else {
88
+ assignments[pane.id] = value;
89
+ }
90
+ continue;
91
+ }
92
+ const keep = value != null && (live.has(value) || !known.has(value));
93
+ assignments[pane.id] = keep ? value : null;
62
94
  }
63
95
  return { assignments };
64
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/bsp/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/bsp/layout.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,11 @@ export interface GlRenderer {
6
6
  render(bgVerts: Float32Array, glyphVerts: Float32Array, atlasCanvas: HTMLCanvasElement | undefined, atlasVersion: number, cursorVisible: boolean, cursorCol: number, cursorRow: number, cursorStyle: number, cursorBlinkOn: boolean, cell: CellMetrics, bgColor: [number, number, number], focused?: boolean): void;
7
7
  dispose(): void;
8
8
  }
9
+ /**
10
+ * Software fallback when WebGL2 is not available (e.g. headless compositor
11
+ * without GPU). Reads the same vertex buffers produced by the WASM terminal
12
+ * and paints them with Canvas 2D.
13
+ */
14
+ export declare function createCanvas2dRenderer(canvas: HTMLCanvasElement): GlRenderer;
9
15
  export declare function createGlRenderer(canvas: HTMLCanvasElement): GlRenderer;
10
16
  //# sourceMappingURL=gl-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gl-renderer.d.ts","sourceRoot":"","sources":["../src/gl-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAmG7C,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,CACJ,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,YAAY,EACxB,WAAW,EAAE,iBAAiB,GAAG,SAAS,EAC1C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CAAC;IACR,OAAO,IAAI,IAAI,CAAC;CACjB;AAUD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAqStE"}
1
+ {"version":3,"file":"gl-renderer.d.ts","sourceRoot":"","sources":["../src/gl-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAmG7C,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,CACJ,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,YAAY,EACxB,WAAW,EAAE,iBAAiB,GAAG,SAAS,EAC1C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CAAC;IACR,OAAO,IAAI,IAAI,CAAC;CACjB;AAcD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAyJ5E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAqStE"}
@@ -92,6 +92,138 @@ const UNSUPPORTED = {
92
92
  render() { },
93
93
  dispose() { },
94
94
  };
95
+ // ---------------------------------------------------------------------------
96
+ // Canvas 2D fallback renderer
97
+ // ---------------------------------------------------------------------------
98
+ /**
99
+ * Software fallback when WebGL2 is not available (e.g. headless compositor
100
+ * without GPU). Reads the same vertex buffers produced by the WASM terminal
101
+ * and paints them with Canvas 2D.
102
+ */
103
+ export function createCanvas2dRenderer(canvas) {
104
+ const ctx = canvas.getContext("2d", { alpha: true });
105
+ if (!ctx)
106
+ return { ...UNSUPPORTED };
107
+ // Reusable scratch canvas for glyph tinting.
108
+ const tmp = document.createElement("canvas");
109
+ const tctx = tmp.getContext("2d", { willReadFrequently: false });
110
+ const BG_FPV = 6; // x y r g b a
111
+ const GL_FPV = 8; // x y u v r g b a
112
+ function drawBgRects(data) {
113
+ const stride = BG_FPV * 6; // 6 verts per rect
114
+ for (let i = 0; i < data.length; i += stride) {
115
+ // First vertex gives top-left and color.
116
+ const x0 = data[i];
117
+ const y0 = data[i + 1];
118
+ const r = data[i + 2];
119
+ const g = data[i + 3];
120
+ const b = data[i + 4];
121
+ const a = data[i + 5];
122
+ // Fifth vertex (index 4, offset 24) gives bottom-right.
123
+ const x1 = data[i + 24 + 0];
124
+ const y1 = data[i + 24 + 1];
125
+ ctx.fillStyle = `rgba(${(r * 255) | 0},${(g * 255) | 0},${(b * 255) | 0},${a})`;
126
+ ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
127
+ }
128
+ }
129
+ function drawGlyphs(data, atlas) {
130
+ const aw = atlas.width;
131
+ const ah = atlas.height;
132
+ if (aw === 0 || ah === 0)
133
+ return;
134
+ const stride = GL_FPV * 6; // 6 verts per glyph quad
135
+ for (let i = 0; i < data.length; i += stride) {
136
+ // Vertex 0 (top-left): x, y, u, v, r, g, b, a
137
+ const dx0 = data[i];
138
+ const dy0 = data[i + 1];
139
+ const u0 = data[i + 2];
140
+ const v0 = data[i + 3];
141
+ const cr = data[i + 4];
142
+ const cg = data[i + 5];
143
+ const cb = data[i + 6];
144
+ // Vertex 5 (bottom-right): offset = 5 * GL_FPV = 40
145
+ const dx1 = data[i + 40];
146
+ const dy1 = data[i + 41];
147
+ const u1 = data[i + 42];
148
+ const v1 = data[i + 43];
149
+ const sx = u0 * aw;
150
+ const sy = v0 * ah;
151
+ const sw = (u1 - u0) * aw;
152
+ const sh = (v1 - v0) * ah;
153
+ const dw = dx1 - dx0;
154
+ const dh = dy1 - dy0;
155
+ if (sw <= 0 || sh <= 0 || dw <= 0 || dh <= 0)
156
+ continue;
157
+ const tw = Math.ceil(sw);
158
+ const th = Math.ceil(sh);
159
+ if (tmp.width < tw)
160
+ tmp.width = tw;
161
+ if (tmp.height < th)
162
+ tmp.height = th;
163
+ // Copy glyph from atlas.
164
+ tctx.globalCompositeOperation = "copy";
165
+ tctx.drawImage(atlas, sx, sy, sw, sh, 0, 0, tw, th);
166
+ // Tint: replace colour while keeping alpha (white text -> fg colour;
167
+ // colour emoji get tinted too – acceptable for a fallback renderer).
168
+ tctx.globalCompositeOperation = "source-in";
169
+ tctx.fillStyle = `rgb(${(cr * 255) | 0},${(cg * 255) | 0},${(cb * 255) | 0})`;
170
+ tctx.fillRect(0, 0, tw, th);
171
+ ctx.drawImage(tmp, 0, 0, tw, th, dx0, dy0, dw, dh);
172
+ }
173
+ }
174
+ function renderCursor(visible, col, row, style, blinkOn, cell, focused) {
175
+ if (!visible)
176
+ return;
177
+ const x = col * cell.pw;
178
+ const y = row * cell.ph;
179
+ if (!focused) {
180
+ const t = Math.max(1, Math.round(cell.pw * 0.08));
181
+ ctx.fillStyle = "rgba(153,153,153,0.6)";
182
+ ctx.fillRect(x, y, cell.pw, t);
183
+ ctx.fillRect(x, y + cell.ph - t, cell.pw, t);
184
+ ctx.fillRect(x, y, t, cell.ph);
185
+ ctx.fillRect(x + cell.pw - t, y, t, cell.ph);
186
+ return;
187
+ }
188
+ const blinks = style === 0 || style === 1 || style === 3 || style === 5;
189
+ if (blinks && !blinkOn)
190
+ return;
191
+ if (style === 3 || style === 4) {
192
+ const h = Math.max(1, Math.round(cell.ph * 0.12));
193
+ ctx.fillStyle = "rgba(204,204,204,0.8)";
194
+ ctx.fillRect(x, y + cell.ph - h, cell.pw, h);
195
+ }
196
+ else if (style === 5 || style === 6) {
197
+ const w = Math.max(1, Math.round(cell.pw * 0.12));
198
+ ctx.fillStyle = "rgba(204,204,204,0.8)";
199
+ ctx.fillRect(x, y, w, cell.ph);
200
+ }
201
+ else {
202
+ ctx.fillStyle = "rgba(204,204,204,0.5)";
203
+ ctx.fillRect(x, y, cell.pw, cell.ph);
204
+ }
205
+ }
206
+ return {
207
+ supported: true,
208
+ maxDimension: 32767,
209
+ resize(width, height) {
210
+ if (canvas.width !== width)
211
+ canvas.width = width;
212
+ if (canvas.height !== height)
213
+ canvas.height = height;
214
+ },
215
+ render(bgVerts, glyphVerts, atlasCanvas, _atlasVersion, cursorVisible, cursorCol, cursorRow, cursorStyle, cursorBlinkOn, cell, bgColor, focused = true) {
216
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
217
+ ctx.fillStyle = `rgb(${bgColor[0]},${bgColor[1]},${bgColor[2]})`;
218
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
219
+ drawBgRects(bgVerts);
220
+ if (atlasCanvas)
221
+ drawGlyphs(glyphVerts, atlasCanvas);
222
+ renderCursor(cursorVisible, cursorCol, cursorRow, cursorStyle, cursorBlinkOn, cell, focused);
223
+ },
224
+ dispose() { },
225
+ };
226
+ }
95
227
  export function createGlRenderer(canvas) {
96
228
  const gl = canvas.getContext("webgl2", {
97
229
  alpha: true,
@@ -1 +1 @@
1
- {"version":3,"file":"gl-renderer.js","sourceRoot":"","sources":["../src/gl-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gl-renderer.js","sourceRoot":"","sources":["../src/gl-renderer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,19 +1,24 @@
1
1
  export { BlitWorkspace } from "./BlitWorkspace";
2
2
  export { SEARCH_SOURCE_TITLE, SEARCH_SOURCE_VISIBLE, SEARCH_SOURCE_SCROLLBACK, } from "./BlitConnection";
3
3
  export type { BlitWasmModule } from "./TerminalStore";
4
+ export { SurfaceStore } from "./SurfaceStore";
5
+ export type { SurfaceFrameCallback, SurfaceEventCallback, } from "./SurfaceStore";
4
6
  export { measureCell, cssFontFamily } from "./measure";
5
7
  export type { CellMetrics } from "./measure";
6
8
  export { WebSocketTransport } from "./transports/websocket";
7
9
  export { WebTransportTransport } from "./transports/webtransport";
8
10
  export { createShareTransport } from "./transports/webrtc-share";
9
11
  export { DEFAULT_FONT, DEFAULT_FONT_SIZE } from "./types";
10
- export type { BlitConnectionSnapshot, BlitDebug, BlitSearchResult, BlitWorkspaceSnapshot, BlitTransport, BlitSession, ConnectionId, ConnectionStatus, SessionId, TerminalPalette, TransportConfig, } from "./types";
12
+ export type { BlitConnectionSnapshot, BlitDebug, BlitSearchResult, BlitSurface, BlitWorkspaceSnapshot, BlitTransport, BlitSession, ConnectionId, ConnectionStatus, SessionId, TerminalPalette, TransportConfig, } from "./types";
13
+ export { SURFACE_POINTER_DOWN, SURFACE_POINTER_UP, SURFACE_POINTER_MOVE, } from "./protocol";
11
14
  export { PALETTES } from "./palettes";
12
15
  export { MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE } from "./protocol";
13
- export { keyToBytes, encoder } from "./keyboard";
16
+ export { keyToBytes, ctrlCharToByte, encoder } from "./keyboard";
14
17
  export type { GlRenderer } from "./gl-renderer";
15
18
  export { BlitTerminalSurface } from "./BlitTerminalSurface";
16
19
  export type { BlitTerminalSurfaceOptions, BlitTerminalSurfaceHandle, } from "./BlitTerminalSurface";
20
+ export { BlitSurfaceCanvas, detectCodecSupport, getCodecSupport, } from "./BlitSurfaceCanvas";
21
+ export type { BlitSurfaceCanvasOptions } from "./BlitSurfaceCanvas";
17
22
  export { parseDSL, serializeDSL, leafCount } from "./bsp/dsl";
18
23
  export type { BSPNode, BSPSplit, BSPChild, BSPLeaf } from "./bsp/dsl";
19
24
  export { PRESETS, enumeratePanes, assignSessionsToPanes, buildCandidateOrder, reconcileAssignments, adjustWeights, layoutFromDSL, } from "./bsp/layout";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1D,YAAY,EACV,sBAAsB,EACtB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9D,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1D,YAAY,EACV,sBAAsB,EACtB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9D,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,17 @@
1
1
  export { BlitWorkspace } from "./BlitWorkspace";
2
2
  export { SEARCH_SOURCE_TITLE, SEARCH_SOURCE_VISIBLE, SEARCH_SOURCE_SCROLLBACK, } from "./BlitConnection";
3
+ export { SurfaceStore } from "./SurfaceStore";
3
4
  export { measureCell, cssFontFamily } from "./measure";
4
5
  export { WebSocketTransport } from "./transports/websocket";
5
6
  export { WebTransportTransport } from "./transports/webtransport";
6
7
  export { createShareTransport } from "./transports/webrtc-share";
7
8
  export { DEFAULT_FONT, DEFAULT_FONT_SIZE } from "./types";
9
+ export { SURFACE_POINTER_DOWN, SURFACE_POINTER_UP, SURFACE_POINTER_MOVE, } from "./protocol";
8
10
  export { PALETTES } from "./palettes";
9
11
  export { MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE } from "./protocol";
10
- export { keyToBytes, encoder } from "./keyboard";
12
+ export { keyToBytes, ctrlCharToByte, encoder } from "./keyboard";
11
13
  export { BlitTerminalSurface } from "./BlitTerminalSurface";
14
+ export { BlitSurfaceCanvas, detectCodecSupport, getCodecSupport, } from "./BlitSurfaceCanvas";
12
15
  export { parseDSL, serializeDSL, leafCount } from "./bsp/dsl";
13
16
  export { PRESETS, enumeratePanes, assignSessionsToPanes, buildCandidateOrder, reconcileAssignments, adjustWeights, layoutFromDSL, } from "./bsp/layout";
14
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAe1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAgB1D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EACL,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC"}
@@ -1,4 +1,10 @@
1
1
  export declare const encoder: TextEncoder;
2
+ /**
3
+ * Convert a single character to its Ctrl+char byte representation.
4
+ * For a-z returns 0x01–0x1a, for special chars returns the standard mapping.
5
+ * Returns null if the character has no Ctrl equivalent.
6
+ */
7
+ export declare function ctrlCharToByte(char: string): Uint8Array | null;
2
8
  /**
3
9
  * Encode a keyboard event into the byte sequence expected by the terminal.
4
10
  * Returns null if the event should not be forwarded.
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,aAAoB,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,OAAO,GACjB,UAAU,GAAG,IAAI,CA0GnB"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,aAAoB,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS9D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,OAAO,GACjB,UAAU,GAAG,IAAI,CA8GnB"}
package/dist/keyboard.js CHANGED
@@ -1,10 +1,35 @@
1
1
  export const encoder = new TextEncoder();
2
+ /**
3
+ * Convert a single character to its Ctrl+char byte representation.
4
+ * For a-z returns 0x01–0x1a, for special chars returns the standard mapping.
5
+ * Returns null if the character has no Ctrl equivalent.
6
+ */
7
+ export function ctrlCharToByte(char) {
8
+ if (char.length !== 1)
9
+ return null;
10
+ const code = char.toLowerCase().charCodeAt(0);
11
+ if (code >= 97 && code <= 122)
12
+ return new Uint8Array([code - 96]); // a-z → 0x01-0x1a
13
+ if (char === "[")
14
+ return new Uint8Array([0x1b]); // Ctrl+[ = Escape
15
+ if (char === "\\")
16
+ return new Uint8Array([0x1c]);
17
+ if (char === "]")
18
+ return new Uint8Array([0x1d]);
19
+ if (char === " " || char === "@")
20
+ return new Uint8Array([0x00]); // Ctrl+Space / Ctrl+@
21
+ return null;
22
+ }
2
23
  /**
3
24
  * Encode a keyboard event into the byte sequence expected by the terminal.
4
25
  * Returns null if the event should not be forwarded.
5
26
  */
6
27
  export function keyToBytes(e, appCursor) {
7
28
  if (e.ctrlKey && !e.altKey && !e.metaKey) {
29
+ // Let Ctrl+Shift+V fall through to the browser so native paste works.
30
+ // On macOS Cmd+V already bypasses this path via the metaKey guard.
31
+ if (e.shiftKey && e.code === "KeyV")
32
+ return null;
8
33
  const kc = e.key.charCodeAt(0);
9
34
  if (e.key.length === 1 && kc >= 1 && kc <= 26)
10
35
  return new Uint8Array([kc]);
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,CAAgB,EAChB,SAAkB;IAElB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG;gBAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,wEAAwE;QACxE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAAE,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAA2B;QACrC,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;KACf,CAAC;IACF,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,GAAG,GACP,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,GAAG,GACP,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtB,MAAM,KAAK,GAA2B;QACpC,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,GAAG;KACZ,CAAC;IACF,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,EAAE,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACd,IAAI,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;IAC3E,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,IAAI,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAA2B;QACpC,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV,CAAC;IACF,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAA2B;QACrC,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,MAAM;KACf,CAAC;IACF,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"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"}
@@ -30,5 +30,24 @@ export declare function buildMouseMessage(ptyId: number, type: number, button: n
30
30
  export declare function buildRestartMessage(ptyId: number): Uint8Array;
31
31
  export declare function buildKillMessage(ptyId: number, signal: number): Uint8Array;
32
32
  export declare function buildCopyRangeMessage(nonce: number, ptyId: number, startTail: number, startCol: number, endTail: number, endCol: number): Uint8Array;
33
+ export declare function buildSurfaceInputMessage(sessionId: number, surfaceId: number, keycode: number, pressed: boolean): Uint8Array;
34
+ export declare const SURFACE_POINTER_DOWN = 0;
35
+ export declare const SURFACE_POINTER_UP = 1;
36
+ export declare const SURFACE_POINTER_MOVE = 2;
37
+ export declare function buildSurfacePointerMessage(sessionId: number, surfaceId: number, type: number, button: number, x: number, y: number): Uint8Array;
38
+ export declare function buildSurfaceAxisMessage(sessionId: number, surfaceId: number, axis: number, valueX100: number): Uint8Array;
39
+ /**
40
+ * @param scale120 DPR in 1/120th units (Wayland convention):
41
+ * 120 = 1×, 180 = 1.5×, 240 = 2×.
42
+ * 0 means unspecified (server defaults to 1×).
43
+ * @param codecSupport Bitmask of CODEC_SUPPORT_* flags. 0 = accept anything.
44
+ */
45
+ export declare function buildSurfaceResizeMessage(sessionId: number, surfaceId: number, width: number, height: number, scale120?: number, codecSupport?: number): Uint8Array;
46
+ export declare function buildSurfaceFocusMessage(sessionId: number, surfaceId: number): Uint8Array;
47
+ export declare function buildSurfaceCloseMessage(sessionId: number, surfaceId: number): Uint8Array;
48
+ export declare function buildSurfaceSubscribeMessage(sessionId: number, surfaceId: number): Uint8Array;
49
+ export declare function buildSurfaceUnsubscribeMessage(sessionId: number, surfaceId: number): Uint8Array;
50
+ export declare function buildSurfaceAckMessage(surfaceId: number): Uint8Array;
51
+ export declare function buildClipboardMessage(sessionId: number, surfaceId: number, mimeType: string, data: Uint8Array): Uint8Array;
33
52
  export {};
34
53
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAuBA,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAIF,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,UAAU,CAUZ;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAM/D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAO7E;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,UAAU,CAEZ;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,UAAU,CAcZ;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAIjE;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC5B,UAAU,CAQZ;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAU5E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAM3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAM3D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAM/D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAMjE;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,UAAU,CAQZ;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,UAAU,CAoCZ;AAED,uCAAuC;AACvC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,UAAU,CAYZ;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAM7D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAQ1E;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,UAAU,CAYZ"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}