@floegence/floeterm-terminal-web 0.15.1 → 0.15.3

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.
@@ -9,6 +9,7 @@ export var TerminalLiveFrameType;
9
9
  TerminalLiveFrameType[TerminalLiveFrameType["Input"] = 2] = "Input";
10
10
  TerminalLiveFrameType[TerminalLiveFrameType["Resize"] = 3] = "Resize";
11
11
  TerminalLiveFrameType[TerminalLiveFrameType["Detach"] = 4] = "Detach";
12
+ TerminalLiveFrameType[TerminalLiveFrameType["InputIntent"] = 5] = "InputIntent";
12
13
  TerminalLiveFrameType[TerminalLiveFrameType["Attached"] = 129] = "Attached";
13
14
  TerminalLiveFrameType[TerminalLiveFrameType["ResizeApplied"] = 131] = "ResizeApplied";
14
15
  TerminalLiveFrameType[TerminalLiveFrameType["SessionClosed"] = 132] = "SessionClosed";
@@ -163,6 +164,66 @@ export const decodeInput = (value) => {
163
164
  assertPositiveUint64(sequence, 'sequence');
164
165
  return { sequence, data: value.payload.slice(8) };
165
166
  };
167
+ const keyActionValue = (action) => {
168
+ switch (action) {
169
+ case 'press': return 1;
170
+ case 'repeat': return 2;
171
+ case 'release': return 3;
172
+ default: throw new Error('invalid terminal live input intent action');
173
+ }
174
+ };
175
+ const decodeKeyAction = (value) => {
176
+ switch (value) {
177
+ case 1: return 'press';
178
+ case 2: return 'repeat';
179
+ case 3: return 'release';
180
+ default: throw new Error('invalid terminal live input intent action');
181
+ }
182
+ };
183
+ export const encodeInputIntent = (value) => {
184
+ assertPositiveUint64(value.sequence, 'sequence');
185
+ const code = encoder.encode(value.code);
186
+ const text = encoder.encode(value.text);
187
+ if (code.byteLength === 0 || code.byteLength > MAX_IDENTIFIER_BYTES || text.byteLength > MAX_INPUT_BYTES
188
+ || !Number.isSafeInteger(value.modifiers) || value.modifiers < 0 || (value.modifiers & ~0x3f) !== 0
189
+ || 16 + code.byteLength + text.byteLength > MAX_INPUT_BYTES) {
190
+ throw new Error('terminal live input intent payload is invalid');
191
+ }
192
+ const payload = new Uint8Array(16 + code.byteLength + text.byteLength);
193
+ const view = new DataView(payload.buffer);
194
+ view.setBigUint64(0, value.sequence, false);
195
+ payload[8] = keyActionValue(value.action);
196
+ view.setUint16(10, value.modifiers, false);
197
+ view.setUint16(12, code.byteLength, false);
198
+ view.setUint16(14, text.byteLength, false);
199
+ payload.set(code, 16);
200
+ payload.set(text, 16 + code.byteLength);
201
+ return frame(TerminalLiveFrameType.InputIntent, payload);
202
+ };
203
+ export const decodeInputIntent = (value) => {
204
+ if (value.type !== TerminalLiveFrameType.InputIntent)
205
+ throw new Error('unexpected terminal live frame type');
206
+ if (value.payload.byteLength < 17 || value.payload.byteLength > MAX_INPUT_BYTES || value.payload[9] !== 0) {
207
+ throw new Error('invalid terminal live input intent payload');
208
+ }
209
+ const view = new DataView(value.payload.buffer, value.payload.byteOffset);
210
+ const sequence = view.getBigUint64(0, false);
211
+ const modifiers = view.getUint16(10, false);
212
+ const codeLength = view.getUint16(12, false);
213
+ const textLength = view.getUint16(14, false);
214
+ assertPositiveUint64(sequence, 'sequence');
215
+ if (codeLength === 0 || codeLength > MAX_IDENTIFIER_BYTES || (modifiers & ~0x3f) !== 0
216
+ || 16 + codeLength + textLength !== value.payload.byteLength) {
217
+ throw new Error('invalid terminal live input intent payload');
218
+ }
219
+ return {
220
+ sequence,
221
+ code: decoder.decode(value.payload.subarray(16, 16 + codeLength)),
222
+ text: decoder.decode(value.payload.subarray(16 + codeLength)),
223
+ action: decodeKeyAction(value.payload[8]),
224
+ modifiers,
225
+ };
226
+ };
166
227
  export const encodeResize = (value) => {
167
228
  assertPositiveUint64(value.sequence, 'sequence');
168
229
  assertPositiveUint32(value.cols, 'cols');
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/live/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/live/codec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { SemanticHistoryPage, SemanticHistoryRequest } from '../semantic/presentation.js';
2
+ import type { TerminalKeyInputIntent } from '../core/TerminalInputBridge.js';
2
3
  import type { TerminalExecutionContextUpdateEvent, TerminalForegroundCommandUpdateEvent, TerminalGeometryEvent, TerminalID, TerminalNameUpdateEvent, TerminalOutputActivityUpdateEvent, TerminalSessionInfo, TerminalWorkStateUpdateEvent } from '../types.js';
3
4
  import { type ConnectTerminalLiveOptions, type TerminalByteStream, type TerminalLiveResizeResult } from './client.js';
4
5
  import { StreamKind } from './codec.js';
@@ -48,6 +49,7 @@ export type SemanticTerminalLiveTransport = Readonly<{
48
49
  resize(sessionId: TerminalID, cols: number, rows: number): Promise<void>;
49
50
  resizeWithEffectiveGeometry(sessionId: TerminalID, cols: number, rows: number): Promise<TerminalLiveResizeAppliedResult>;
50
51
  sendInput(sessionId: TerminalID, input: string): Promise<void>;
52
+ sendInputIntent(sessionId: TerminalID, input: TerminalKeyInputIntent): Promise<void>;
51
53
  semanticHistory(sessionId: TerminalID, request: SemanticHistoryRequest): Promise<SemanticHistoryPage>;
52
54
  clearSemanticContent?(sessionId: TerminalID): Promise<TerminalSemanticClearResult>;
53
55
  listSessions?(): Promise<TerminalSessionInfo[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/live/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,KAAK,EACV,mCAAmC,EACnC,oCAAoC,EACpC,qBAAqB,EACrB,UAAU,EACV,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;IACtD,eAAe,CACb,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,oBAAoB,CAAC,CACnB,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,YAAY,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChD,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/G,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,wBAAwB,GAAG,QAAQ,CAAC;IAChF,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GACzC,YAAY,GACZ,cAAc,GACd,gBAAgB,GAChB,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,0BAA0B,GAC1B,UAAU,CAAC;AAEf,MAAM,MAAM,oCAAoC,GAAG,QAAQ,CAAC;IAC1D,SAAS,EAAE,UAAU,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,iCAAiC,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACrD,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACpG,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACvG,iCAAiC,CAC/B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,IAAI,GAC7D,MAAM,IAAI,CAAC;IACd,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACzE,oBAAoB,CAAC,CACnB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAChD,MAAM,IAAI,CAAC;IACd,iCAAiC,CAAC,CAChC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,IAAI,GAC7D,MAAM,IAAI,CAAC;IACd,8BAA8B,CAAC,CAC7B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,IAAI,GAC1D,MAAM,IAAI,CAAC;IACd,gCAAgC,CAAC,CAC/B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,GAC5D,MAAM,IAAI,CAAC;IACd,yBAAyB,CAAC,CACxB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACrD,MAAM,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC7G,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,2BAA2B,CACzB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC5C,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtG,oBAAoB,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACnF,YAAY,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChD,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/G,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC,CAAC;AAEH,KAAK,mBAAmB,GAAG,IAAI,CAAC,+BAA+B,EAC3D,sBAAsB,GACtB,mCAAmC,GACnC,gCAAgC,GAChC,kCAAkC,GAClC,2BAA2B,CAAC,CAAC;AAEjC,MAAM,MAAM,0CAA0C,GAAG,QAAQ,CAAC;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,EAAE,gCAAgC,CAAC;IAC1C,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,MAAM,mCAAmC,GAAG,QAAQ,CAAC;IACzD,SAAS,EAAE,6BAA6B,CAAC;IACzC,WAAW,EAAE,+BAA+B,CAAC;CAC9C,CAAC,CAAC;AAKH,eAAO,MAAM,mCAAmC,GAC9C,SAAS,0CAA0C,KAClD,mCAyLF,CAAC;AAgBF,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,OAAO,UAAU,EACvB,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC,KACzC,OAAO,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/live/transport.ts"],"names":[],"mappings":"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"}
@@ -106,10 +106,28 @@ export const createSemanticTerminalLiveTransport = (options) => {
106
106
  resizeWithEffectiveGeometry,
107
107
  sendInput: async (sessionId, input) => {
108
108
  const entry = entries.get(sessionId);
109
- if (!entry)
109
+ if (!entry || !isCurrentGeneration(sessionId, entry.generation))
110
110
  throw new Error('terminal live session is not attached');
111
111
  await entry.connection.sendInput(textEncoder.encode(String(input ?? '')));
112
112
  },
113
+ sendInputIntent: async (sessionId, input) => {
114
+ const entry = entries.get(sessionId);
115
+ if (!entry || !isCurrentGeneration(sessionId, entry.generation)) {
116
+ throw new Error('terminal live session is not attached');
117
+ }
118
+ const modifiers = (input.modifiers.shift ? 1 : 0)
119
+ | (input.modifiers.control ? 2 : 0)
120
+ | (input.modifiers.alt ? 4 : 0)
121
+ | (input.modifiers.super ? 8 : 0)
122
+ | (input.modifiers.capsLock ? 16 : 0)
123
+ | (input.modifiers.numLock ? 32 : 0);
124
+ await entry.connection.sendInputIntent({
125
+ code: input.code,
126
+ text: input.text,
127
+ action: input.action,
128
+ modifiers,
129
+ });
130
+ },
113
131
  semanticHistory: async (sessionId, request) => {
114
132
  const entry = entries.get(sessionId);
115
133
  if (!entry || !isCurrentGeneration(sessionId, entry.generation)) {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/live/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/live/transport.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,15 @@ export declare const SEMANTIC_CELL_WIDTH_CSS_PX = 9;
4
4
  export declare const SEMANTIC_CELL_HEIGHT_CSS_PX = 18;
5
5
  export declare const SEMANTIC_TERMINAL_FONT_FAMILY = "\"JetBrains Mono\", \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Noto Sans Mono CJK SC\", monospace";
6
6
  export type SemanticTerminalPalette = TerminalThemeColors;
7
+ export type SemanticTerminalTypography = Readonly<{
8
+ fontSizeCssPx: number;
9
+ fontFamily: string;
10
+ lineHeightCssPx?: number;
11
+ }>;
12
+ export type SemanticTerminalCellMetrics = Readonly<{
13
+ cellWidthCssPx: number;
14
+ cellHeightCssPx: number;
15
+ }>;
7
16
  export declare class RendererSurface {
8
17
  private readonly canvas;
9
18
  private readonly onError;
@@ -18,6 +27,9 @@ export declare class RendererSurface {
18
27
  private cursorBlinkTimer;
19
28
  private cursorBlinkPhaseVisible;
20
29
  private palette;
30
+ private typography;
31
+ private cellMetrics;
32
+ private typographyConfigured;
21
33
  private dprMediaQuery;
22
34
  private readonly fontSet;
23
35
  private disposed;
@@ -28,6 +40,8 @@ export declare class RendererSurface {
28
40
  constructor(canvas: HTMLCanvasElement, onError?: (error: Error) => void);
29
41
  apply(presentation: SemanticPresentation): void;
30
42
  setPalette(palette: SemanticTerminalPalette): void;
43
+ setTypography(typography: SemanticTerminalTypography): SemanticTerminalCellMetrics;
44
+ getCellMetrics(): SemanticTerminalCellMetrics;
31
45
  project(frame: SemanticFrame | null): void;
32
46
  beginSelection(clientX: number, clientY: number): void;
33
47
  updateSelection(clientX: number, clientY: number): void;
@@ -51,6 +65,7 @@ export declare class RendererSurface {
51
65
  private paintGraphics;
52
66
  private fail;
53
67
  private getContext;
68
+ private refreshCellMetrics;
54
69
  private syncCursorBlinkTimer;
55
70
  private clearCursorBlinkTimer;
56
71
  private clearGraphicBitmaps;
@@ -1 +1 @@
1
- {"version":3,"file":"RendererSurface.d.ts","sourceRoot":"","sources":["../../src/semantic/RendererSurface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAExG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,6BAA6B,2LAA6K,CAAC;AAExN,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAQ1D,qBAAa,eAAe;IA+BxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA/B1B,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,uBAAuB,CAAQ;IACvC,OAAO,CAAC,OAAO,CAAkE;IACjF,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;IACjE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IACF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAI/B;IACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAErC;gBAEiB,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAe;IAQ7D,KAAK,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI;IAuB/C,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAOlD,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAS1C,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOtD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOvD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAGpD,cAAc,IAAI,IAAI;IAMtB,YAAY,IAAI,OAAO;IAGvB,gBAAgB,IAAI,MAAM;IAa1B,mBAAmB,IAAI,QAAQ,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAmBpG,MAAM,IAAI,IAAI;IAWd,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,MAAM;IAyCd,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,iBAAiB;YA0BX,aAAa;IA0D3B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,gBAAgB;CAgBzB"}
1
+ {"version":3,"file":"RendererSurface.d.ts","sourceRoot":"","sources":["../../src/semantic/RendererSurface.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,16 @@ export class RendererSurface {
22
22
  this.cursorBlinkTimer = null;
23
23
  this.cursorBlinkPhaseVisible = true;
24
24
  this.palette = Object.freeze(getThemeColors('dark'));
25
+ this.typography = Object.freeze({
26
+ fontSizeCssPx: 14,
27
+ fontFamily: SEMANTIC_TERMINAL_FONT_FAMILY,
28
+ lineHeightCssPx: SEMANTIC_CELL_HEIGHT_CSS_PX,
29
+ });
30
+ this.cellMetrics = Object.freeze({
31
+ cellWidthCssPx: SEMANTIC_CELL_WIDTH_CSS_PX,
32
+ cellHeightCssPx: SEMANTIC_CELL_HEIGHT_CSS_PX,
33
+ });
34
+ this.typographyConfigured = false;
25
35
  this.dprMediaQuery = null;
26
36
  this.disposed = false;
27
37
  this.graphicBitmaps = new Map();
@@ -39,8 +49,16 @@ export class RendererSurface {
39
49
  this.resize();
40
50
  };
41
51
  this.fontLoadingDoneHandler = () => {
42
- if (!this.disposed && !this.failed)
52
+ if (this.disposed || this.failed)
53
+ return;
54
+ try {
55
+ if (this.typographyConfigured)
56
+ this.refreshCellMetrics();
43
57
  this.scheduleRender();
58
+ }
59
+ catch (error) {
60
+ this.fail(error);
61
+ }
44
62
  };
45
63
  globalThis.document?.addEventListener('visibilitychange', this.visibilityHandler);
46
64
  this.fontSet = globalThis.document?.fonts;
@@ -82,6 +100,33 @@ export class RendererSurface {
82
100
  this.canvas.style.background = this.palette.background;
83
101
  this.scheduleRender();
84
102
  }
103
+ setTypography(typography) {
104
+ if (this.failed)
105
+ return this.getCellMetrics();
106
+ const fontSizeCssPx = Number(typography.fontSizeCssPx);
107
+ const fontFamily = String(typography.fontFamily ?? '').trim();
108
+ const lineHeightCssPx = typography.lineHeightCssPx === undefined
109
+ ? Math.ceil(fontSizeCssPx * 1.5)
110
+ : Number(typography.lineHeightCssPx);
111
+ if (!Number.isFinite(fontSizeCssPx) || fontSizeCssPx < 6 || fontSizeCssPx > 96) {
112
+ throw new Error('semantic terminal font size must be between 6 and 96 CSS pixels');
113
+ }
114
+ if (!fontFamily || fontFamily.length > 1024 || /[\r\n\0]/u.test(fontFamily)) {
115
+ throw new Error('semantic terminal font family is invalid');
116
+ }
117
+ if (!Number.isFinite(lineHeightCssPx) || lineHeightCssPx < fontSizeCssPx || lineHeightCssPx > 192) {
118
+ throw new Error('semantic terminal line height is invalid');
119
+ }
120
+ this.typography = Object.freeze({ fontSizeCssPx, fontFamily, lineHeightCssPx });
121
+ this.typographyConfigured = true;
122
+ const metrics = this.refreshCellMetrics();
123
+ this.cursorBlinkPhaseVisible = true;
124
+ this.scheduleRender();
125
+ return metrics;
126
+ }
127
+ getCellMetrics() {
128
+ return { ...this.cellMetrics };
129
+ }
85
130
  project(frame) {
86
131
  if (frame && this.latest && (frame.width !== this.latest.frame.width || frame.height !== this.latest.frame.height)) {
87
132
  throw new Error('semantic history frame does not match the current presentation geometry');
@@ -144,10 +189,11 @@ export class RendererSurface {
144
189
  return null;
145
190
  const cursorX = Math.max(0, Math.min(frame.width - 1, frame.cursor.x));
146
191
  const cursorY = Math.max(0, Math.min(frame.height - 1, frame.cursor.y));
147
- const width = Math.min(SEMANTIC_CELL_WIDTH_CSS_PX, bounds.width);
148
- const height = Math.min(SEMANTIC_CELL_HEIGHT_CSS_PX, bounds.height);
149
- const left = Math.max(bounds.left, Math.min(bounds.left + cursorX * SEMANTIC_CELL_WIDTH_CSS_PX, bounds.left + bounds.width - width));
150
- const top = Math.max(bounds.top, Math.min(bounds.top + cursorY * SEMANTIC_CELL_HEIGHT_CSS_PX, bounds.top + bounds.height - height));
192
+ const { cellWidthCssPx, cellHeightCssPx } = this.cellMetrics;
193
+ const width = Math.min(cellWidthCssPx, bounds.width);
194
+ const height = Math.min(cellHeightCssPx, bounds.height);
195
+ const left = Math.max(bounds.left, Math.min(bounds.left + cursorX * cellWidthCssPx, bounds.left + bounds.width - width));
196
+ const top = Math.max(bounds.top, Math.min(bounds.top + cursorY * cellHeightCssPx, bounds.top + bounds.height - height));
151
197
  return { left, top, width, height };
152
198
  }
153
199
  resize() {
@@ -216,12 +262,11 @@ export class RendererSurface {
216
262
  // The engine grid is authoritative. A view may be larger or smaller than
217
263
  // that grid, so preserve one CSS cell metric and crop/pad locally instead
218
264
  // of stretching the shared frame to fit an observer viewport.
219
- const cellWidth = SEMANTIC_CELL_WIDTH_CSS_PX;
220
- const cellHeight = SEMANTIC_CELL_HEIGHT_CSS_PX;
265
+ const { cellWidthCssPx: cellWidth, cellHeightCssPx: cellHeight } = this.cellMetrics;
221
266
  context.clearRect(0, 0, cssWidth, cssHeight);
222
267
  context.fillStyle = palette.background;
223
268
  context.fillRect(0, 0, cssWidth, cssHeight);
224
- context.font = `${Math.max(1, Math.floor(cellHeight * 0.78))}px ${SEMANTIC_TERMINAL_FONT_FAMILY}`;
269
+ context.font = `${this.typography.fontSizeCssPx}px ${this.typography.fontFamily}`;
225
270
  context.textBaseline = 'alphabetic';
226
271
  frame.rows.forEach((row, y) => {
227
272
  row.cells.forEach((cell, x) => {
@@ -306,14 +351,15 @@ export class RendererSurface {
306
351
  ? palette.selectionBackground
307
352
  : resolveColor(cell?.style?.background, palette.background, palette);
308
353
  context.fillStyle = background;
309
- context.fillRect(x * SEMANTIC_CELL_WIDTH_CSS_PX, y * SEMANTIC_CELL_HEIGHT_CSS_PX, SEMANTIC_CELL_WIDTH_CSS_PX + 0.5, SEMANTIC_CELL_HEIGHT_CSS_PX + 0.5);
354
+ const { cellWidthCssPx, cellHeightCssPx } = this.cellMetrics;
355
+ context.fillRect(x * cellWidthCssPx, y * cellHeightCssPx, cellWidthCssPx + 0.5, cellHeightCssPx + 0.5);
310
356
  if (cell?.text) {
311
357
  const foreground = this.isCellSelected(y, x)
312
358
  ? palette.selectionForeground
313
359
  : resolveColor(cell.style?.foreground, palette.foreground, palette);
314
- this.paintCellText(context, cell, x, y, SEMANTIC_CELL_WIDTH_CSS_PX, SEMANTIC_CELL_HEIGHT_CSS_PX, foreground);
360
+ this.paintCellText(context, cell, x, y, cellWidthCssPx, cellHeightCssPx, foreground);
315
361
  }
316
- this.paintCursor(context, frame, frame.cursor, SEMANTIC_CELL_WIDTH_CSS_PX, SEMANTIC_CELL_HEIGHT_CSS_PX, palette);
362
+ this.paintCursor(context, frame, frame.cursor, cellWidthCssPx, cellHeightCssPx, palette);
317
363
  }
318
364
  async paintGraphics(context, frame, cellWidth, cellHeight, renderGeneration, palette) {
319
365
  if (frame.graphics.images.length === 0 || frame.graphics.placements.length === 0) {
@@ -409,6 +455,23 @@ export class RendererSurface {
409
455
  throw new Error('2D terminal renderer unavailable');
410
456
  return this.context;
411
457
  }
458
+ refreshCellMetrics() {
459
+ const context = this.getContext();
460
+ context.font = `${this.typography.fontSizeCssPx}px ${this.typography.fontFamily}`;
461
+ const measuredWidth = typeof context.measureText === 'function'
462
+ ? context.measureText('M').width
463
+ : this.typography.fontSizeCssPx * (SEMANTIC_CELL_WIDTH_CSS_PX / 14);
464
+ const effectiveWidth = Number.isFinite(measuredWidth) && measuredWidth > 0
465
+ ? measuredWidth
466
+ : this.typography.fontSizeCssPx * (SEMANTIC_CELL_WIDTH_CSS_PX / 14);
467
+ const cellWidthCssPx = Math.max(1, Math.min(128, Math.ceil(effectiveWidth)));
468
+ const cellHeightCssPx = Math.max(1, Math.min(192, Math.ceil(this.typography.lineHeightCssPx)));
469
+ if (cellWidthCssPx !== this.cellMetrics.cellWidthCssPx
470
+ || cellHeightCssPx !== this.cellMetrics.cellHeightCssPx) {
471
+ this.cellMetrics = Object.freeze({ cellWidthCssPx, cellHeightCssPx });
472
+ }
473
+ return { ...this.cellMetrics };
474
+ }
412
475
  syncCursorBlinkTimer() {
413
476
  this.clearCursorBlinkTimer();
414
477
  const cursor = this.currentFrame()?.cursor;
@@ -479,8 +542,8 @@ export class RendererSurface {
479
542
  if (bounds.width <= 0 || bounds.height <= 0)
480
543
  return null;
481
544
  return {
482
- col: Math.max(0, Math.min(frame.width - 1, Math.floor((clientX - bounds.left) / SEMANTIC_CELL_WIDTH_CSS_PX))),
483
- row: Math.max(0, Math.min(frame.height - 1, Math.floor((clientY - bounds.top) / SEMANTIC_CELL_HEIGHT_CSS_PX))),
545
+ col: Math.max(0, Math.min(frame.width - 1, Math.floor((clientX - bounds.left) / this.cellMetrics.cellWidthCssPx))),
546
+ row: Math.max(0, Math.min(frame.height - 1, Math.floor((clientY - bounds.top) / this.cellMetrics.cellHeightCssPx))),
484
547
  };
485
548
  }
486
549
  selectionRange() {