@flyingrobots/bijou-tui 3.0.0 → 4.0.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 (122) hide show
  1. package/LICENSE +159 -21
  2. package/README.md +181 -32
  3. package/dist/app-frame-actions.d.ts +1 -5
  4. package/dist/app-frame-actions.d.ts.map +1 -1
  5. package/dist/app-frame-actions.js +23 -20
  6. package/dist/app-frame-actions.js.map +1 -1
  7. package/dist/app-frame-render.d.ts +17 -11
  8. package/dist/app-frame-render.d.ts.map +1 -1
  9. package/dist/app-frame-render.js +106 -100
  10. package/dist/app-frame-render.js.map +1 -1
  11. package/dist/app-frame-types.d.ts +10 -1
  12. package/dist/app-frame-types.d.ts.map +1 -1
  13. package/dist/app-frame-types.js.map +1 -1
  14. package/dist/app-frame.d.ts +39 -2
  15. package/dist/app-frame.d.ts.map +1 -1
  16. package/dist/app-frame.js +222 -78
  17. package/dist/app-frame.js.map +1 -1
  18. package/dist/browsable-list.d.ts +20 -1
  19. package/dist/browsable-list.d.ts.map +1 -1
  20. package/dist/browsable-list.js +38 -10
  21. package/dist/browsable-list.js.map +1 -1
  22. package/dist/command-palette.d.ts +17 -1
  23. package/dist/command-palette.d.ts.map +1 -1
  24. package/dist/command-palette.js +45 -20
  25. package/dist/command-palette.js.map +1 -1
  26. package/dist/commands.d.ts.map +1 -1
  27. package/dist/commands.js +11 -3
  28. package/dist/commands.js.map +1 -1
  29. package/dist/css/text-style.d.ts +2 -1
  30. package/dist/css/text-style.d.ts.map +1 -1
  31. package/dist/css/text-style.js +33 -0
  32. package/dist/css/text-style.js.map +1 -1
  33. package/dist/design-language.d.ts +49 -0
  34. package/dist/design-language.d.ts.map +1 -0
  35. package/dist/design-language.js +70 -0
  36. package/dist/design-language.js.map +1 -0
  37. package/dist/driver.d.ts +10 -6
  38. package/dist/driver.d.ts.map +1 -1
  39. package/dist/driver.js +18 -17
  40. package/dist/driver.js.map +1 -1
  41. package/dist/eventbus.d.ts +5 -0
  42. package/dist/eventbus.d.ts.map +1 -1
  43. package/dist/eventbus.js +44 -7
  44. package/dist/eventbus.js.map +1 -1
  45. package/dist/file-picker.d.ts +19 -1
  46. package/dist/file-picker.d.ts.map +1 -1
  47. package/dist/file-picker.js +47 -20
  48. package/dist/file-picker.js.map +1 -1
  49. package/dist/flex.d.ts +35 -1
  50. package/dist/flex.d.ts.map +1 -1
  51. package/dist/flex.js +127 -1
  52. package/dist/flex.js.map +1 -1
  53. package/dist/focus-area.d.ts +13 -1
  54. package/dist/focus-area.d.ts.map +1 -1
  55. package/dist/focus-area.js +89 -12
  56. package/dist/focus-area.js.map +1 -1
  57. package/dist/grid.d.ts +10 -0
  58. package/dist/grid.d.ts.map +1 -1
  59. package/dist/grid.js +25 -0
  60. package/dist/grid.js.map +1 -1
  61. package/dist/help.d.ts +41 -0
  62. package/dist/help.d.ts.map +1 -1
  63. package/dist/help.js +50 -0
  64. package/dist/help.js.map +1 -1
  65. package/dist/index.d.ts +19 -17
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +18 -14
  68. package/dist/index.js.map +1 -1
  69. package/dist/layout-node-surface.d.ts +9 -0
  70. package/dist/layout-node-surface.d.ts.map +1 -0
  71. package/dist/layout-node-surface.js +42 -0
  72. package/dist/layout-node-surface.js.map +1 -0
  73. package/dist/navigable-table.d.ts +16 -1
  74. package/dist/navigable-table.d.ts.map +1 -1
  75. package/dist/navigable-table.js +32 -1
  76. package/dist/navigable-table.js.map +1 -1
  77. package/dist/notification.d.ts +89 -0
  78. package/dist/notification.d.ts.map +1 -0
  79. package/dist/notification.js +821 -0
  80. package/dist/notification.js.map +1 -0
  81. package/dist/overlay.d.ts +24 -9
  82. package/dist/overlay.d.ts.map +1 -1
  83. package/dist/overlay.js +236 -138
  84. package/dist/overlay.js.map +1 -1
  85. package/dist/pager.d.ts +16 -0
  86. package/dist/pager.d.ts.map +1 -1
  87. package/dist/pager.js +61 -1
  88. package/dist/pager.js.map +1 -1
  89. package/dist/runtime.d.ts.map +1 -1
  90. package/dist/runtime.js +79 -68
  91. package/dist/runtime.js.map +1 -1
  92. package/dist/split-pane.d.ts +12 -1
  93. package/dist/split-pane.d.ts.map +1 -1
  94. package/dist/split-pane.js +31 -1
  95. package/dist/split-pane.js.map +1 -1
  96. package/dist/status-bar.d.ts +12 -0
  97. package/dist/status-bar.d.ts.map +1 -1
  98. package/dist/status-bar.js +45 -16
  99. package/dist/status-bar.js.map +1 -1
  100. package/dist/surface-layout.d.ts +19 -0
  101. package/dist/surface-layout.d.ts.map +1 -0
  102. package/dist/surface-layout.js +87 -0
  103. package/dist/surface-layout.js.map +1 -0
  104. package/dist/transition-shaders.d.ts +10 -8
  105. package/dist/transition-shaders.d.ts.map +1 -1
  106. package/dist/transition-shaders.js +65 -19
  107. package/dist/transition-shaders.js.map +1 -1
  108. package/dist/types.d.ts +32 -2
  109. package/dist/types.d.ts.map +1 -1
  110. package/dist/view-output.d.ts +4 -4
  111. package/dist/view-output.d.ts.map +1 -1
  112. package/dist/view-output.js +24 -26
  113. package/dist/view-output.js.map +1 -1
  114. package/dist/viewport.d.ts +30 -1
  115. package/dist/viewport.d.ts.map +1 -1
  116. package/dist/viewport.js +77 -1
  117. package/dist/viewport.js.map +1 -1
  118. package/package.json +4 -4
  119. package/dist/layout-v3.d.ts +0 -10
  120. package/dist/layout-v3.d.ts.map +0 -1
  121. package/dist/layout-v3.js +0 -35
  122. package/dist/layout-v3.js.map +0 -1
@@ -7,11 +7,11 @@
7
7
  import { wrapFrameMsg } from './app-frame-types.js';
8
8
  import { createPanelVisibilityState, createPanelMaximizeState, toggleMinimized, restorePane, isMinimized, toggleMaximize, } from './panel-state.js';
9
9
  import { createPanelDockState, movePaneInContainer, resolveChildOrder, findPaneContainer, } from './panel-dock.js';
10
- import { createFocusAreaState, focusAreaScrollBy, focusAreaScrollByX, focusAreaScrollToBottom, focusAreaScrollToTop, focusAreaPageDown, focusAreaPageUp, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
10
+ import { createFocusAreaStateForSurface, focusAreaScrollBy, focusAreaScrollByX, focusAreaScrollToBottom, focusAreaScrollToTop, focusAreaPageDown, focusAreaPageUp, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
11
11
  import { timeline } from './timeline.js';
12
12
  import { EASINGS } from './spring.js';
13
13
  import { collectPaneIds, assertUniquePaneIds, findPaneNode, frameBodyRect, } from './app-frame-utils.js';
14
- import { framePaneOutputToString, renderFrameNode } from './app-frame-render.js';
14
+ import { framePaneOutputToSurface, renderFrameNode } from './app-frame-render.js';
15
15
  /** Dispatch a frame-level action (tab switch, pane cycle, scroll, palette, help toggle, transitions). */
16
16
  export function applyFrameAction(action, model, options, pagesById) {
17
17
  switch (action.type) {
@@ -51,6 +51,9 @@ export function applyFrameAction(action, model, options, pagesById) {
51
51
  case 'scroll-left':
52
52
  case 'scroll-right':
53
53
  return [scrollFocusedPane(model, action, pagesById), []];
54
+ case 'runtime-issue':
55
+ case 'notification-tick':
56
+ return [model, []];
54
57
  case 'transition':
55
58
  case 'transition-complete':
56
59
  return [model, []];
@@ -93,7 +96,7 @@ export function switchTab(model, delta, pagesById, options) {
93
96
  transitionProgress: hasTransition ? 0 : 1,
94
97
  transitionGeneration: nextGeneration,
95
98
  transitionFrame: 0,
96
- transitionStartMs: hasTransition ? Date.now() : undefined,
99
+ transitionStartMs: undefined,
97
100
  transitionTimeline: tl,
98
101
  transitionTimelineState: tl?.init(),
99
102
  }, nextId, pagesById);
@@ -148,9 +151,8 @@ export function scrollFocusedPane(model, action, pagesById) {
148
151
  const paneNode = findPaneNode(layoutTree, focusedPaneId);
149
152
  if (paneNode == null)
150
153
  return model;
151
- const content = framePaneOutputToString(paneNode.render(paneRect.width, paneRect.height), paneRect.width, paneRect.height);
152
- let state = createFocusAreaState({
153
- content,
154
+ const contentSurface = framePaneOutputToSurface(paneNode.render(paneRect.width, paneRect.height), paneRect.width, paneRect.height);
155
+ let state = createFocusAreaStateForSurface(contentSurface, {
154
156
  width: paneRect.width,
155
157
  height: paneRect.height,
156
158
  overflowX: paneNode.overflowX ?? 'hidden',
@@ -283,31 +285,32 @@ export function syncPageFrameState(model, pageId, pagesById) {
283
285
  };
284
286
  }
285
287
  /**
286
- * Create a TEA command that drives transition re-renders via `setInterval`.
287
- *
288
- * Each tick emits a frame-scoped 'transition' message. The actual progress
289
- * is computed from wall-clock time in the update handler, not from the
290
- * interval count. The interval just schedules re-renders.
288
+ * Create a TEA command that drives transition re-renders from the shared pulse.
291
289
  */
292
290
  export function createTransitionTickCmd(durationMs, generation) {
293
- return (emit) => new Promise((resolve) => {
291
+ return (emit, caps) => new Promise((resolve) => {
294
292
  if (durationMs <= 0) {
295
293
  emit(wrapFrameMsg({ type: 'transition-complete', generation }));
296
294
  resolve();
297
295
  return;
298
296
  }
299
- const startMs = Date.now();
300
- const intervalMs = Math.round(1000 / 60);
301
- const id = setInterval(() => {
302
- const elapsed = Date.now() - startMs;
303
- const rawProgress = Math.min(1, elapsed / durationMs);
304
- emit(wrapFrameMsg({ type: 'transition', progress: rawProgress, generation }));
297
+ let elapsedMs = 0;
298
+ const pulse = caps.onPulse((dt) => {
299
+ elapsedMs = Math.min(durationMs, elapsedMs + Math.max(0, dt * 1000));
300
+ const rawProgress = Math.min(1, elapsedMs / durationMs);
301
+ emit(wrapFrameMsg({
302
+ type: 'transition',
303
+ progress: rawProgress,
304
+ generation,
305
+ dt,
306
+ elapsedMs,
307
+ }));
305
308
  if (rawProgress >= 1) {
306
- clearInterval(id);
309
+ pulse.dispose();
307
310
  emit(wrapFrameMsg({ type: 'transition-complete', generation }));
308
311
  resolve();
309
312
  }
310
- }, intervalMs);
313
+ });
311
314
  });
312
315
  }
313
316
  //# sourceMappingURL=app-frame-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-actions.js","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-actions.js","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,24 @@
2
2
  * Layout rendering for `app-frame.ts`.
3
3
  *
4
4
  * Recursive tree renderer, page content, maximized pane, header/help lines,
5
- * transition shader, and string-to-grid tokenization.
5
+ * transition shader, and surface/string bridge helpers.
6
6
  */
7
- import { type BijouContext } from '@flyingrobots/bijou';
7
+ import { type BijouContext, type Surface } from '@flyingrobots/bijou';
8
8
  import type { FrameLayoutNode, FramePage, CreateFramedAppOptions } from './app-frame.js';
9
9
  import type { InternalFrameModel, RenderContext, RenderResult, FrameAction } from './app-frame-types.js';
10
10
  import type { LayoutRect } from './layout-rect.js';
11
11
  import type { PageTransition } from './app-frame.js';
12
12
  import type { KeyMap } from './keybindings.js';
13
13
  import { type ViewOutput } from './view-output.js';
14
+ export interface FrameHeaderTabTarget {
15
+ readonly pageId: string;
16
+ readonly startCol: number;
17
+ readonly endCol: number;
18
+ }
19
+ export interface FrameHeaderRenderResult {
20
+ readonly surface: Surface;
21
+ readonly tabTargets: readonly FrameHeaderTabTarget[];
22
+ }
14
23
  /** Recursively render a layout tree node (pane, split, or grid) into a rect. */
15
24
  export declare function renderFrameNode<PageModel, Msg>(node: FrameLayoutNode, rect: LayoutRect, ctx: RenderContext<PageModel, Msg>): RenderResult;
16
25
  /** Render a placeholder for a grid area that has no matching cell definition. */
@@ -19,21 +28,18 @@ export declare function renderMissingGridCell(areaName: string, rect: LayoutRect
19
28
  export declare function renderPageContent<PageModel, Msg>(pageId: string, model: InternalFrameModel<PageModel, Msg>, bodyRect: LayoutRect, pagesById: Map<string, FramePage<PageModel, Msg>>): RenderResult;
20
29
  /** Render only the maximized pane at the full body rect. */
21
30
  export declare function renderMaximizedPane<PageModel, Msg>(pageId: string, model: InternalFrameModel<PageModel, Msg>, bodyRect: LayoutRect, pagesById: Map<string, FramePage<PageModel, Msg>>, maximizedPaneId: string): RenderResult;
22
- /** Render the top header line showing the app title and tab bar. */
23
- export declare function renderHeaderLine<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): string;
31
+ /** Resolve the top header line plus clickable tab target geometry. */
32
+ export declare function resolveHeaderLine<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): FrameHeaderRenderResult;
24
33
  /** Render the bottom status line showing mode, focused pane, and key hints. */
25
- export declare function renderHelpLine<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, frameKeys: KeyMap<FrameAction>, options: CreateFramedAppOptions<PageModel, Msg>, activePage: FramePage<PageModel, Msg>): string;
34
+ export declare function renderHelpLine<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, frameKeys: KeyMap<FrameAction>, options: CreateFramedAppOptions<PageModel, Msg>, activePage: FramePage<PageModel, Msg>): Surface;
26
35
  /**
27
- * Split a styled multiline string into a 2D grid of single-column characters.
28
- * Each cell is a fully-styled string (including resets).
29
- */
30
- export declare function stringToGrid(str: string, width: number, height: number): string[][];
31
36
  /**
32
37
  * Apply a transition shader to blend between the previous and next page views.
33
38
  *
34
39
  * @param frame - Monotonic frame counter passed to shaders for temporal effects
35
40
  * (glitch flickering, static noise). Defaults to 0 for stateless shaders.
36
41
  */
37
- export declare function renderTransition(prev: string, next: string, style: PageTransition, progress: number, width: number, height: number, ctx: BijouContext, frame?: number): string;
38
- export declare function framePaneOutputToString(output: ViewOutput, width: number, height: number): string;
42
+ export declare function renderTransition(prev: Surface, next: Surface, style: PageTransition, progress: number, width: number, height: number, ctx: BijouContext, frame?: number): Surface;
43
+ export declare function framePaneOutputToSurface(output: ViewOutput, width: number, height: number): Surface;
44
+ export declare function blockSurface(content: string, width: number, height: number): Surface;
39
45
  //# sourceMappingURL=app-frame-render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-render.d.ts","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-render.d.ts","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}
@@ -2,55 +2,53 @@
2
2
  * Layout rendering for `app-frame.ts`.
3
3
  *
4
4
  * Recursive tree renderer, page content, maximized pane, header/help lines,
5
- * transition shader, and string-to-grid tokenization.
5
+ * transition shader, and surface/string bridge helpers.
6
6
  */
7
- import { resolveSafeCtx, surfaceToString } from '@flyingrobots/bijou';
7
+ import { createSurface, parseAnsiToSurface, resolveSafeCtx, } from '@flyingrobots/bijou';
8
8
  import { TRANSITION_SHADERS } from './transition-shaders.js';
9
9
  import { fitBlock } from './layout-utils.js';
10
- import { splitPane, splitPaneLayout } from './split-pane.js';
11
- import { grid, gridLayout } from './grid.js';
12
- import { createFocusAreaState, focusArea, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
10
+ import { splitPaneLayout } from './split-pane.js';
11
+ import { gridLayout } from './grid.js';
12
+ import { createFocusAreaStateForSurface, focusAreaSurface, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
13
13
  import { isMinimized, createPanelVisibilityState } from './panel-state.js';
14
14
  import { createPanelDockState, resolveChildOrder, getNodeId } from './panel-dock.js';
15
- import { tokenizeAnsi } from './viewport.js';
15
+ import { visibleLength } from './viewport.js';
16
16
  import { helpShort } from './help.js';
17
17
  import { findPaneNode, isPaneMinimized, mergeMaps, offsetRect, fitLine, mergeBindingSources, } from './app-frame-utils.js';
18
18
  import { normalizeViewOutput } from './view-output.js';
19
- import { styleTextWithBCSS } from './css/text-style.js';
19
+ import { createStyledTextSurfaceWithBCSS } from './css/text-style.js';
20
20
  /** Recursively render a layout tree node (pane, split, or grid) into a rect. */
21
21
  export function renderFrameNode(node, rect, ctx) {
22
22
  if (rect.width <= 0 || rect.height <= 0) {
23
- return { output: '', paneRects: new Map(), paneOrder: [] };
23
+ return { surface: createSurface(rect.width, rect.height), paneRects: new Map(), paneOrder: [] };
24
24
  }
25
25
  if (node.kind === 'pane') {
26
26
  // Minimized pane: render as collapsed title bar
27
27
  if (isMinimized(ctx.visibility, node.paneId)) {
28
28
  const titleBar = `[${node.paneId}] \u25b8`; // ▸
29
- const output = fitBlock(titleBar, rect.width, rect.height).join('\n');
30
29
  return {
31
- output,
30
+ surface: blockSurface(titleBar, rect.width, rect.height),
32
31
  paneRects: new Map([[node.paneId, rect]]),
33
32
  paneOrder: [node.paneId],
34
33
  };
35
34
  }
36
35
  const prior = ctx.scrollByPane[node.paneId] ?? { x: 0, y: 0 };
37
- const content = framePaneOutputToString(node.render(rect.width, rect.height), rect.width, rect.height);
38
- let state = createFocusAreaState({
39
- content,
36
+ const contentSurface = framePaneOutputToSurface(node.render(rect.width, rect.height), rect.width, rect.height);
37
+ let state = createFocusAreaStateForSurface(contentSurface, {
40
38
  width: rect.width,
41
39
  height: rect.height,
42
40
  overflowX: node.overflowX ?? 'hidden',
43
41
  });
44
42
  state = focusAreaScrollTo(state, prior.y);
45
43
  state = focusAreaScrollToX(state, prior.x);
46
- const output = focusArea(state, {
44
+ const surface = focusAreaSurface(contentSurface, state, {
47
45
  focused: node.paneId === ctx.focusedPaneId,
48
46
  ctx: resolveSafeCtx(),
49
47
  id: node.paneId,
50
48
  classes: [node.paneId === ctx.focusedPaneId ? 'focused' : 'unfocused'],
51
49
  });
52
50
  return {
53
- output,
51
+ surface,
54
52
  paneRects: new Map([[node.paneId, rect]]),
55
53
  paneOrder: [node.paneId],
56
54
  };
@@ -95,18 +93,12 @@ export function renderFrameNode(node, rect, ctx) {
95
93
  const bRect = offsetRect(layout.paneB, rect.row, rect.col);
96
94
  const a = renderFrameNode(effectiveA, aRect, ctx);
97
95
  const b = renderFrameNode(effectiveB, bRect, ctx);
98
- const output = splitPane(splitState, {
99
- direction,
100
- width: rect.width,
101
- height: rect.height,
102
- minA: node.minA,
103
- minB: node.minB,
104
- dividerChar: node.dividerChar,
105
- paneA: () => a.output,
106
- paneB: () => b.output,
107
- });
96
+ const surface = createSurface(rect.width, rect.height);
97
+ surface.blit(a.surface, layout.paneA.col, layout.paneA.row);
98
+ surface.blit(b.surface, layout.paneB.col, layout.paneB.row);
99
+ paintDivider(surface, layout.divider, node.dividerChar, direction);
108
100
  return {
109
- output,
101
+ surface,
110
102
  paneRects: mergeMaps(a.paneRects, b.paneRects),
111
103
  paneOrder: [...a.paneOrder, ...b.paneOrder],
112
104
  };
@@ -130,15 +122,11 @@ export function renderFrameNode(node, rect, ctx) {
130
122
  }
131
123
  renderedByArea.set(areaName, renderFrameNode(child, absoluteAreaRect, ctx));
132
124
  }
133
- const output = grid({
134
- width: rect.width,
135
- height: rect.height,
136
- columns: node.columns,
137
- rows: node.rows,
138
- areas: node.areas,
139
- gap: node.gap,
140
- cells: Object.fromEntries([...renderedByArea.entries()].map(([name, rendered]) => [name, () => rendered.output])),
141
- });
125
+ const surface = createSurface(rect.width, rect.height);
126
+ for (const [areaName, areaRect] of relRects) {
127
+ const rendered = renderedByArea.get(areaName);
128
+ surface.blit(rendered.surface, areaRect.col, areaRect.row);
129
+ }
142
130
  let paneRects = new Map();
143
131
  const seenPaneIds = new Set();
144
132
  const paneOrder = [];
@@ -157,12 +145,12 @@ export function renderFrameNode(node, rect, ctx) {
157
145
  paneOrder.push(paneId);
158
146
  }
159
147
  }
160
- return { output, paneRects, paneOrder };
148
+ return { surface, paneRects, paneOrder };
161
149
  }
162
150
  /** Render a placeholder for a grid area that has no matching cell definition. */
163
151
  export function renderMissingGridCell(areaName, rect) {
164
152
  return {
165
- output: fitBlock(`[missing grid cell: ${areaName}]`, rect.width, rect.height).join('\n'),
153
+ surface: blockSurface(`[missing grid cell: ${areaName}]`, rect.width, rect.height),
166
154
  paneRects: new Map(),
167
155
  paneOrder: [],
168
156
  };
@@ -192,40 +180,59 @@ export function renderMaximizedPane(pageId, model, bodyRect, pagesById, maximize
192
180
  return renderPageContent(pageId, model, bodyRect, pagesById);
193
181
  }
194
182
  const prior = model.scrollByPage[pageId]?.[maximizedPaneId] ?? { x: 0, y: 0 };
195
- const content = framePaneOutputToString(paneNode.render(bodyRect.width, bodyRect.height), bodyRect.width, bodyRect.height);
196
- let state = createFocusAreaState({
197
- content,
183
+ const contentSurface = framePaneOutputToSurface(paneNode.render(bodyRect.width, bodyRect.height), bodyRect.width, bodyRect.height);
184
+ let state = createFocusAreaStateForSurface(contentSurface, {
198
185
  width: bodyRect.width,
199
186
  height: bodyRect.height,
200
187
  overflowX: paneNode.overflowX ?? 'hidden',
201
188
  });
202
189
  state = focusAreaScrollTo(state, prior.y);
203
190
  state = focusAreaScrollToX(state, prior.x);
204
- const output = focusArea(state, {
191
+ const surface = focusAreaSurface(contentSurface, state, {
205
192
  focused: true,
206
193
  ctx: resolveSafeCtx(),
207
194
  id: maximizedPaneId,
208
195
  classes: ['focused', 'maximized'],
209
196
  });
210
197
  return {
211
- output,
198
+ surface,
212
199
  paneRects: new Map([[maximizedPaneId, bodyRect]]),
213
200
  paneOrder: [maximizedPaneId],
214
201
  };
215
202
  }
216
- /** Render the top header line showing the app title and tab bar. */
217
- export function renderHeaderLine(model, options, pagesById) {
203
+ /** Resolve the top header line plus clickable tab target geometry. */
204
+ export function resolveHeaderLine(model, options, pagesById) {
218
205
  const title = options.title ?? 'App';
219
- const tabs = model.pageOrder.map((id) => {
206
+ let cursor = visibleLength(title) + 2;
207
+ const tabTargets = [];
208
+ const tabs = model.pageOrder.map((id, index) => {
220
209
  const page = pagesById.get(id);
221
- return id === model.activePageId ? `[${page.title}]` : ` ${page.title} `;
210
+ const label = id === model.activePageId ? `[${page.title}]` : ` ${page.title} `;
211
+ const width = visibleLength(label);
212
+ const startCol = cursor;
213
+ const endCol = cursor + width - 1;
214
+ if (endCol >= 0 && startCol < model.columns) {
215
+ tabTargets.push({
216
+ pageId: id,
217
+ startCol: Math.max(0, startCol),
218
+ endCol: Math.min(Math.max(0, model.columns - 1), endCol),
219
+ });
220
+ }
221
+ cursor += width;
222
+ if (index < model.pageOrder.length - 1) {
223
+ cursor += 1;
224
+ }
225
+ return label;
222
226
  }).join(' ');
223
227
  const line = fitLine(`${title} ${tabs}`, model.columns);
224
- return styleTextWithBCSS(line, resolveSafeCtx(), {
225
- type: 'FrameHeader',
226
- id: 'frame-header',
227
- classes: [`page-${model.activePageId}`],
228
- });
228
+ return {
229
+ surface: createStyledTextSurfaceWithBCSS(line, model.columns, resolveSafeCtx(), {
230
+ type: 'FrameHeader',
231
+ id: 'frame-header',
232
+ classes: [`page-${model.activePageId}`],
233
+ }),
234
+ tabTargets,
235
+ };
229
236
  }
230
237
  /** Render the bottom status line showing mode, focused pane, and key hints. */
231
238
  export function renderHelpLine(model, frameKeys, options, activePage) {
@@ -236,30 +243,23 @@ export function renderHelpLine(model, frameKeys, options, activePage) {
236
243
  : 'NORMAL';
237
244
  const focusedPane = model.focusedPaneByPage[model.activePageId] ?? '-';
238
245
  const status = `[${mode}] page:${model.activePageId} pane:${focusedPane}`;
239
- const source = mergeBindingSources(frameKeys, options.globalKeys, activePage.helpSource ?? activePage.keyMap);
246
+ const source = options.helpLineSource?.({
247
+ model,
248
+ activePage,
249
+ frameKeys,
250
+ globalKeys: options.globalKeys,
251
+ }) ?? mergeBindingSources(frameKeys, options.globalKeys, activePage.helpSource ?? activePage.keyMap);
240
252
  const hint = helpShort(source);
241
253
  const line = hint.length > 0
242
254
  ? ` ${status} ${hint}`
243
255
  : ` ${status}`;
244
- return styleTextWithBCSS(fitLine(line, model.columns), resolveSafeCtx(), {
256
+ return createStyledTextSurfaceWithBCSS(fitLine(line, model.columns), model.columns, resolveSafeCtx(), {
245
257
  type: 'FrameHelp',
246
258
  id: 'frame-help',
247
259
  classes: [`mode-${mode.toLowerCase()}`, `page-${model.activePageId}`],
248
260
  });
249
261
  }
250
262
  /**
251
- * Split a styled multiline string into a 2D grid of single-column characters.
252
- * Each cell is a fully-styled string (including resets).
253
- */
254
- export function stringToGrid(str, width, height) {
255
- const lines = str.split('\n');
256
- const grid = [];
257
- for (let y = 0; y < height; y++) {
258
- const line = lines[y] ?? '';
259
- grid.push(tokenizeAnsi(line, width));
260
- }
261
- return grid;
262
- }
263
263
  /**
264
264
  * Apply a transition shader to blend between the previous and next page views.
265
265
  *
@@ -268,52 +268,58 @@ export function stringToGrid(str, width, height) {
268
268
  */
269
269
  export function renderTransition(prev, next, style, progress, width, height, ctx, frame = 0) {
270
270
  const shader = typeof style === 'function' ? style : TRANSITION_SHADERS[style];
271
- if (!shader)
271
+ if (!shader || width <= 0 || height <= 0)
272
272
  return next;
273
- if (width <= 0 || height <= 0)
274
- return next;
275
- const prevGrid = stringToGrid(prev, width, height);
276
- const nextGrid = stringToGrid(next, width, height);
277
- const lines = [];
273
+ const surface = createSurface(width, height);
278
274
  for (let y = 0; y < height; y++) {
279
- let line = '';
280
275
  for (let x = 0; x < width; x++) {
281
- // Shared stable-ish pseudo-random seed based on coordinates
282
276
  const seed = Math.sin(x * 12.9898 + y * 78.233) * 43758.5453;
283
277
  const rand = seed - Math.floor(seed);
284
278
  const result = shader({ x, y, width, height, progress, rand, frame, ctx });
285
- const showNext = result.showNext;
286
- const charOverride = result.char;
287
- if (charOverride !== undefined) {
288
- line += charOverride;
289
- }
290
- else {
291
- line += (showNext ? nextGrid[y]?.[x] : prevGrid[y]?.[x]) ?? ' ';
292
- }
279
+ const baseCell = result.showNext ? next.get(x, y) : prev.get(x, y);
280
+ surface.set(x, y, applyTransitionCell(baseCell, result));
293
281
  }
294
- lines.push(line);
295
282
  }
296
- return lines.join('\n');
283
+ return surface;
297
284
  }
298
- export function framePaneOutputToString(output, width, height) {
299
- if (typeof output === 'string')
300
- return output;
301
- const surface = normalizeViewOutput(output, { width, height }).surface;
302
- const ctx = resolveSafeCtx();
303
- if (ctx?.style) {
304
- return surfaceToString(surface, ctx.style);
305
- }
306
- return surfaceToPlainText(surface);
285
+ export function framePaneOutputToSurface(output, width, height) {
286
+ return normalizeViewOutput(output, { width, height }).surface;
287
+ }
288
+ export function blockSurface(content, width, height) {
289
+ return parseAnsiToSurface(fitBlock(content, width, height).join('\n'), width, height);
307
290
  }
308
- function surfaceToPlainText(surface) {
309
- const lines = [];
310
- for (let y = 0; y < surface.height; y++) {
311
- let line = '';
312
- for (let x = 0; x < surface.width; x++) {
313
- line += surface.get(x, y).char;
291
+ function paintDivider(target, rect, dividerChar, direction) {
292
+ const unit = resolveDividerUnit(dividerChar, direction === 'row' ? '│' : '─');
293
+ for (let y = 0; y < rect.height; y++) {
294
+ for (let x = 0; x < rect.width; x++) {
295
+ target.set(rect.col + x, rect.row + y, { char: unit, empty: false });
314
296
  }
315
- lines.push(line);
316
297
  }
317
- return lines.join('\n');
298
+ }
299
+ function resolveDividerUnit(dividerChar, fallback) {
300
+ if (dividerChar == null || dividerChar.length === 0)
301
+ return fallback;
302
+ return dividerChar[0] ?? fallback;
303
+ }
304
+ function applyTransitionCell(baseCell, result) {
305
+ if (result.overrideCell != null) {
306
+ return {
307
+ ...baseCell,
308
+ ...result.overrideCell,
309
+ char: result.overrideCell.char,
310
+ empty: false,
311
+ };
312
+ }
313
+ if (result.overrideChar !== undefined) {
314
+ return {
315
+ ...baseCell,
316
+ char: result.overrideChar,
317
+ empty: false,
318
+ };
319
+ }
320
+ return {
321
+ ...baseCell,
322
+ empty: false,
323
+ };
318
324
  }
319
325
  //# sourceMappingURL=app-frame-render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-render.js","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-render.js","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}