@vibecook/ghosttea-react 0.12.0 → 0.13.1

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 (67) hide show
  1. package/README.md +59 -4
  2. package/dist/TerminalSurface.d.ts +53 -0
  3. package/dist/TerminalSurface.d.ts.map +1 -1
  4. package/dist/TerminalSurface.js +76 -9
  5. package/dist/TerminalSurface.js.map +1 -1
  6. package/dist/appearance/AppearanceSettings.d.ts +2 -0
  7. package/dist/appearance/AppearanceSettings.d.ts.map +1 -1
  8. package/dist/appearance/AppearanceSettings.js +12 -2
  9. package/dist/appearance/AppearanceSettings.js.map +1 -1
  10. package/dist/appearance/types.d.ts +4 -0
  11. package/dist/appearance/types.d.ts.map +1 -1
  12. package/dist/catalog-budget.d.ts +2 -2
  13. package/dist/catalog-budget.d.ts.map +1 -1
  14. package/dist/catalog-budget.js +2 -2
  15. package/dist/catalog-budget.js.map +1 -1
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +2 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/renderers/glyph-atlas.d.ts +43 -0
  24. package/dist/renderers/glyph-atlas.d.ts.map +1 -0
  25. package/dist/renderers/glyph-atlas.js +175 -0
  26. package/dist/renderers/glyph-atlas.js.map +1 -0
  27. package/dist/renderers/light-adaptation.d.ts +36 -0
  28. package/dist/renderers/light-adaptation.d.ts.map +1 -0
  29. package/dist/renderers/light-adaptation.js +332 -0
  30. package/dist/renderers/light-adaptation.js.map +1 -0
  31. package/dist/renderers/types.d.ts +21 -0
  32. package/dist/renderers/types.d.ts.map +1 -1
  33. package/dist/renderers/types.js.map +1 -1
  34. package/dist/renderers/webgpu-renderer.d.ts +4 -0
  35. package/dist/renderers/webgpu-renderer.d.ts.map +1 -1
  36. package/dist/renderers/webgpu-renderer.js +321 -237
  37. package/dist/renderers/webgpu-renderer.js.map +1 -1
  38. package/dist/routed-control.d.ts +26 -2
  39. package/dist/routed-control.d.ts.map +1 -1
  40. package/dist/routed-control.js +145 -27
  41. package/dist/routed-control.js.map +1 -1
  42. package/dist/routed-frames.d.ts +1 -1
  43. package/dist/routed-frames.d.ts.map +1 -1
  44. package/dist/routed-frames.js +3 -7
  45. package/dist/routed-frames.js.map +1 -1
  46. package/dist/row-damage.d.ts +21 -0
  47. package/dist/row-damage.d.ts.map +1 -0
  48. package/dist/row-damage.js +76 -0
  49. package/dist/row-damage.js.map +1 -0
  50. package/dist/runtime.d.ts +92 -3
  51. package/dist/runtime.d.ts.map +1 -1
  52. package/dist/runtime.js +439 -43
  53. package/dist/runtime.js.map +1 -1
  54. package/dist/styles.css +11 -0
  55. package/dist/terminal-render.worker.js +908 -288
  56. package/dist/terminal-render.worker.js.map +4 -4
  57. package/dist/worker-messages.d.ts +22 -1
  58. package/dist/worker-messages.d.ts.map +1 -1
  59. package/dist/workspace/Workspace.d.ts +15 -2
  60. package/dist/workspace/Workspace.d.ts.map +1 -1
  61. package/dist/workspace/Workspace.js +36 -12
  62. package/dist/workspace/Workspace.js.map +1 -1
  63. package/dist/workspace/pane-layout.d.ts +3 -1
  64. package/dist/workspace/pane-layout.d.ts.map +1 -1
  65. package/dist/workspace/pane-layout.js +16 -4
  66. package/dist/workspace/pane-layout.js.map +1 -1
  67. package/package.json +4 -4
@@ -0,0 +1,76 @@
1
+ function sameRow(before, from, after, to) {
2
+ if (from < 0 || from >= before.rows.length || before.rows[from] !== after.rows[to])
3
+ return false;
4
+ const a = before.nativeRows[from] ?? [], b = after.nativeRows[to] ?? [];
5
+ if (a.length !== b.length)
6
+ return false;
7
+ for (let i = 0; i < a.length; i++) {
8
+ const x = a[i], y = b[i];
9
+ if (x.glyphId !== y.glyphId ||
10
+ x.styleId !== y.styleId ||
11
+ x.x !== y.x ||
12
+ x.y !== y.y ||
13
+ x.width !== y.width ||
14
+ x.height !== y.height ||
15
+ x.cellStart !== y.cellStart ||
16
+ x.cellSpan !== y.cellSpan)
17
+ return false;
18
+ }
19
+ const as = before.nativeStyleRows[from] ?? [], bs = after.nativeStyleRows[to] ?? [];
20
+ if (as.length !== bs.length)
21
+ return false;
22
+ return as.every((x, i) => x.styleId === bs[i].styleId && x.cellStart === bs[i].cellStart && x.cellSpan === bs[i].cellSpan);
23
+ }
24
+ /** Infer scrolling only from exact row content, never from a matching text
25
+ * label alone. Unique text anchors keep candidate discovery linear even on a
26
+ * screen full of repeated/blank lines. The final comparison includes geometry
27
+ * and style. Callers fence catalog, layout and style-definition changes. */
28
+ export function rowDamage(before, after) {
29
+ const positions = new Map();
30
+ for (let row = 0; row < before.rows.length; row++) {
31
+ const text = before.rows[row];
32
+ positions.set(text, positions.has(text) ? -1 : row);
33
+ }
34
+ const votes = new Map();
35
+ for (let row = 0; row < after.rows.length; row++) {
36
+ const from = positions.get(after.rows[row]);
37
+ if (from !== undefined && from >= 0) {
38
+ const delta = from - row;
39
+ votes.set(delta, (votes.get(delta) ?? 0) + 1);
40
+ }
41
+ }
42
+ let scrollRows = 0, best = votes.get(0) ?? 0;
43
+ for (const [delta, count] of votes)
44
+ if (count > best) {
45
+ best = count;
46
+ scrollRows = delta;
47
+ }
48
+ const changed = (delta) => after.rows.flatMap((_, row) => (sameRow(before, row + delta, after, row) ? [] : [row]));
49
+ if (scrollRows !== 0) {
50
+ const rows = changed(scrollRows);
51
+ if (after.rows.length - rows.length >= Math.ceil(after.rows.length / 2))
52
+ return { scrollRows, rows };
53
+ }
54
+ return { scrollRows: 0, rows: changed(0) };
55
+ }
56
+ /** Compose shifts before the next paint, moving pending damage with the rows.
57
+ * No intermediate decoded scene has been painted yet. */
58
+ export function shiftDamage(rows, shift, rowCount) {
59
+ const moved = [...rows].map((row) => row - shift).filter((row) => row >= 0 && row < rowCount);
60
+ rows.clear();
61
+ for (const row of moved)
62
+ rows.add(row);
63
+ }
64
+ export function selectionDamageRows(before, after, count) {
65
+ const rows = new Set();
66
+ for (const selection of [before, after]) {
67
+ if (!selection)
68
+ continue;
69
+ const start = Math.max(0, Math.min(selection.anchor.row, selection.focus.row));
70
+ const end = Math.min(count - 1, Math.max(selection.anchor.row, selection.focus.row));
71
+ for (let row = start; row <= end; row++)
72
+ rows.add(row);
73
+ }
74
+ return [...rows];
75
+ }
76
+ //# sourceMappingURL=row-damage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-damage.js","sourceRoot":"","sources":["../src/row-damage.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { TerminalLink } from "@vibecook/ghosttea-frame";
2
- import { type ConfigSnapshot, type CreateSessionOptions, type ExitOutcome, type RemoteHostSummary, type RemoteSessionLifecycle, type RoutedReceiverCapacities, type RoutedSessionAttachGrant, type RoutedTerminalOpenTicket, type SelectionScopeKind, type SessionActivity, type SessionSummary, type SharedSessionSummary, type TerminalKeyEvent, type TerminalMouseEvent, type TerminalScrollbarState, type TerminationSource } from "@vibecook/ghosttea-protocol";
3
- import type { CellSelection, TerminalEffects, TerminalTheme } from "./renderers/types.js";
2
+ import { type ConfigSnapshot, type CreateSessionOptions, type ExitOutcome, type RemoteHostSummary, type RemoteSessionLifecycle, type RoutedGeometryHolder, type RoutedReceiverCapacities, type RoutedSessionAttachGrant, type RoutedTerminalOpenTicket, type SelectionScopeKind, type SessionActivity, type SessionSummary, type SharedSessionSummary, type TerminalKeyEvent, type TerminalMouseEvent, type TerminalScrollbarState, type TerminationSource } from "@vibecook/ghosttea-protocol";
3
+ import type { CellSelection, PixelSize, TerminalEffects, TerminalTheme } from "./renderers/types.js";
4
4
  import type { TerminalRenderCounterSnapshot, TerminalRenderPerformanceSnapshot } from "./performance.js";
5
5
  import { type RoutedActivationState } from "./routed-activation.js";
6
6
  import { type RoutedExtensionMessageContext } from "./routed-control.js";
@@ -136,14 +136,63 @@ export interface RemoteInputSuppression {
136
136
  viewId: string;
137
137
  state: RemoteSessionRuntimeState["state"];
138
138
  }
139
+ /**
140
+ * One routed session's geometry seat (TPv3 §6), as this runtime last saw it.
141
+ *
142
+ * The cell names the holder only in its replies to this client's own geometry
143
+ * verbs: a commit names the new holder, a refusal names the current one. A
144
+ * take by another client therefore shows here on this client's next claim,
145
+ * take or release, not at the moment it happens.
146
+ */
147
+ export interface RoutedGeometryHolderState {
148
+ /** The holder, or `null` when the seat was last seen empty. */
149
+ holder: RoutedGeometryHolder | null;
150
+ /** The cell's `geometryRevision` at that point: the next claim's or take's compare-and-swap token. */
151
+ revision: number;
152
+ /** Whether the holder is this runtime's client, so that one of its own views holds the seat. */
153
+ local: boolean;
154
+ }
155
+ /** Detail of the runtime's `geometry-holder-changed` event. */
156
+ export interface RoutedGeometryHolderChange {
157
+ sessionId: string;
158
+ sessionHandle: string;
159
+ /** `undefined` when nothing was known before. */
160
+ previous: RoutedGeometryHolderState | undefined;
161
+ /**
162
+ * `undefined` once the runtime stops tracking the seat: the session's last
163
+ * view left, or the session moved to another cell.
164
+ */
165
+ current: RoutedGeometryHolderState | undefined;
166
+ }
139
167
  export declare function waitForGhostteaRendererPorts(timeoutMs?: number): Promise<GhostteaRendererPorts>;
140
168
  export declare class GhostteaTerminalRuntime extends EventTarget {
141
169
  #private;
142
170
  constructor(options: GhostteaTerminalRuntimeOptions);
171
+ /** Whether this renderer has attempted terminal input during this session's lifetime.
172
+ * Restored or externally created sessions must never be treated as unused from this alone. */
173
+ sessionHasInput(sessionId: string): boolean;
174
+ /**
175
+ * Whether a committed frame of this session has put something on screen in
176
+ * this renderer: what a host that just started a program waits for before it
177
+ * reveals the terminal. Once true it stays true while the session is
178
+ * registered here (a restart in place is the same session and does not draw
179
+ * "first" again); a `session-drawn` event (`detail: { sessionId }`) announces
180
+ * the change, and a session registered again announces again.
181
+ */
182
+ sessionHasDrawn(sessionId: string): boolean;
183
+ /** A local birth receipt, never inferred from registration or an empty input history. */
184
+ sessionCreatedHere(sessionId: string): boolean;
143
185
  get rendererBackend(): string;
144
186
  /** Current main-authority state for a routed session. */
145
187
  routedActivation(sessionId: string): RoutedActivationState | undefined;
146
188
  routedViewInputAllowed(viewId: string): boolean;
189
+ /**
190
+ * The routed session's geometry seat as this runtime last saw it, or
191
+ * `undefined` before anything was seen (and always on the port-pair
192
+ * transport). A change of holder also fires `geometry-holder-changed`; a
193
+ * resize by the same holder only moves `revision`, without an event.
194
+ */
195
+ geometryHolder(sessionHandle: string): RoutedGeometryHolderState | undefined;
147
196
  startPerformanceMeasurement(): Promise<void>;
148
197
  finishPerformanceMeasurement(options?: {
149
198
  quietMs?: number;
@@ -164,7 +213,7 @@ export declare class GhostteaTerminalRuntime extends EventTarget {
164
213
  listRemoteHosts(): Promise<RemoteHostSummary[]>;
165
214
  listRemoteSessions(deviceId: string): Promise<SharedSessionSummary[]>;
166
215
  openRemoteSession(deviceId: string, remoteSessionId: string, cols: number, rows: number, deviceName?: string): Promise<SessionSummary>;
167
- mount(sessionId: string, sessionHandle: string, viewId: string, canvas: HTMLCanvasElement): TerminalMount;
216
+ mount(sessionId: string, sessionHandle: string, viewId: string, canvas: HTMLCanvasElement, initialSize?: PixelSize): TerminalMount;
168
217
  get remoteLifecycleSupported(): boolean;
169
218
  /** Negotiated daemon minor, or undefined until the hello completes. */
170
219
  get serverProtocolMinor(): number | undefined;
@@ -193,6 +242,46 @@ export declare class GhostteaTerminalRuntime extends EventTarget {
193
242
  forceFullRedraw(sessionHandle: string): void;
194
243
  forceRowRedraw(sessionHandle: string, row: number): void;
195
244
  setPartialRenderingEnabled(enabled: boolean): void;
245
+ /**
246
+ * Take the session's geometry seat for `viewId`: the host's policy verb.
247
+ *
248
+ * Focus is a scheduling fact. The runtime never turns it into geometry;
249
+ * the host decides when a view takes the seat. VibeField's rule (DS-D5) is
250
+ * that the pane focused last holds the PTY's cols×rows, on any device, last
251
+ * write wins, and `TerminalSurface`'s `takeGeometryOnFocus` applies it.
252
+ *
253
+ * On the routed transport the take is built on the holder this runtime last
254
+ * saw (`geometryHolder`):
255
+ * - an empty seat draws a `ClaimGeometry`;
256
+ * - a seat this view holds draws a `ClaimGeometry` of its own seat, which
257
+ * the cell commits as a resize;
258
+ * - a seat held by another view, of this client or another, draws one
259
+ * `TransferGeometry {from: holder, to: {clientId, viewId}, expectRevision,
260
+ * cols, rows}`, with `clientId` from this session's attach grant.
261
+ *
262
+ * A refusal is the only announcement a take gets. The cell answers only the
263
+ * caller's control leg, so a pane whose seat another client took still
264
+ * believes it holds it, and its take is a resize that the cell refuses. A
265
+ * `SEAT_HELD`, `STALE_REVISION` or `NOT_HOLDER` refusal that names a holder
266
+ * or revision other than the one the take was built on is retried once,
267
+ * against what it names: one `TransferGeometry` from the named holder at
268
+ * the named revision; a claim of the view's own seat if it names this
269
+ * view; a `ClaimGeometry` if it names an empty seat. A refusal that repeats
270
+ * the take's own view of the seat, or names no seat, is not retried, and
271
+ * neither is a second refusal. The runtime owns that one retry: a host
272
+ * calls this once per focus gain of a controller view and never retries
273
+ * it. Only the session's latest take retries. A take asked before the
274
+ * control leg attaches is sent when it attaches, unless the view's focus
275
+ * ends first. Without the grant's `geometry` right nothing is sent.
276
+ *
277
+ * On the port-pair transport this is `claimResizeControl`, which never
278
+ * displaces another view.
279
+ *
280
+ * Like `claimResizeControl`, it leaves the view asking for resize control:
281
+ * its later grid changes resize the PTY while it holds the seat, until
282
+ * `releaseResizeControl`.
283
+ */
284
+ takeResizeControl(sessionHandle: string, viewId: string, cols: number, rows: number): void;
196
285
  claimResizeControl(sessionHandle: string, viewId: string, cols: number, rows: number): void;
197
286
  releaseResizeControl(viewId: string): void;
198
287
  setViewInputPolicy(viewId: string, readWrite: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}