@flyingrobots/bijou-tui 4.4.0 → 5.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 (149) hide show
  1. package/README.md +102 -600
  2. package/dist/app-frame-actions.d.ts.map +1 -1
  3. package/dist/app-frame-actions.js +6 -1
  4. package/dist/app-frame-actions.js.map +1 -1
  5. package/dist/app-frame-i18n.d.ts.map +1 -1
  6. package/dist/app-frame-i18n.js +53 -0
  7. package/dist/app-frame-i18n.js.map +1 -1
  8. package/dist/app-frame-layers.d.ts +11 -1
  9. package/dist/app-frame-layers.d.ts.map +1 -1
  10. package/dist/app-frame-layers.js +19 -0
  11. package/dist/app-frame-layers.js.map +1 -1
  12. package/dist/app-frame-overlays.d.ts +82 -0
  13. package/dist/app-frame-overlays.d.ts.map +1 -0
  14. package/dist/app-frame-overlays.js +480 -0
  15. package/dist/app-frame-overlays.js.map +1 -0
  16. package/dist/app-frame-render.d.ts +8 -8
  17. package/dist/app-frame-render.d.ts.map +1 -1
  18. package/dist/app-frame-render.js +84 -25
  19. package/dist/app-frame-render.js.map +1 -1
  20. package/dist/app-frame-types.d.ts +122 -5
  21. package/dist/app-frame-types.d.ts.map +1 -1
  22. package/dist/app-frame-types.js +17 -1
  23. package/dist/app-frame-types.js.map +1 -1
  24. package/dist/app-frame-utils.d.ts.map +1 -1
  25. package/dist/app-frame-utils.js +6 -5
  26. package/dist/app-frame-utils.js.map +1 -1
  27. package/dist/app-frame.d.ts +43 -83
  28. package/dist/app-frame.d.ts.map +1 -1
  29. package/dist/app-frame.js +499 -575
  30. package/dist/app-frame.js.map +1 -1
  31. package/dist/browsable-list.d.ts +12 -0
  32. package/dist/browsable-list.d.ts.map +1 -1
  33. package/dist/browsable-list.js +17 -6
  34. package/dist/browsable-list.js.map +1 -1
  35. package/dist/canvas.d.ts.map +1 -1
  36. package/dist/canvas.js +27 -7
  37. package/dist/canvas.js.map +1 -1
  38. package/dist/collection-surface.d.ts +8 -0
  39. package/dist/collection-surface.d.ts.map +1 -1
  40. package/dist/collection-surface.js +72 -8
  41. package/dist/collection-surface.js.map +1 -1
  42. package/dist/command-palette.d.ts +5 -3
  43. package/dist/command-palette.d.ts.map +1 -1
  44. package/dist/command-palette.js +5 -3
  45. package/dist/command-palette.js.map +1 -1
  46. package/dist/css/text-style.d.ts +2 -0
  47. package/dist/css/text-style.d.ts.map +1 -1
  48. package/dist/css/text-style.js +18 -8
  49. package/dist/css/text-style.js.map +1 -1
  50. package/dist/debug-overlay.d.ts +19 -0
  51. package/dist/debug-overlay.d.ts.map +1 -0
  52. package/dist/debug-overlay.js +25 -0
  53. package/dist/debug-overlay.js.map +1 -0
  54. package/dist/design-language.d.ts.map +1 -1
  55. package/dist/design-language.js +4 -5
  56. package/dist/design-language.js.map +1 -1
  57. package/dist/driver.d.ts +102 -0
  58. package/dist/driver.d.ts.map +1 -1
  59. package/dist/driver.js +259 -19
  60. package/dist/driver.js.map +1 -1
  61. package/dist/file-picker.d.ts.map +1 -1
  62. package/dist/file-picker.js +2 -2
  63. package/dist/file-picker.js.map +1 -1
  64. package/dist/flex.d.ts.map +1 -1
  65. package/dist/flex.js +6 -6
  66. package/dist/flex.js.map +1 -1
  67. package/dist/focus-area.d.ts +9 -1
  68. package/dist/focus-area.d.ts.map +1 -1
  69. package/dist/focus-area.js +69 -40
  70. package/dist/focus-area.js.map +1 -1
  71. package/dist/grid.d.ts +2 -2
  72. package/dist/grid.d.ts.map +1 -1
  73. package/dist/grid.js +11 -148
  74. package/dist/grid.js.map +1 -1
  75. package/dist/help.d.ts +2 -0
  76. package/dist/help.d.ts.map +1 -1
  77. package/dist/help.js +6 -4
  78. package/dist/help.js.map +1 -1
  79. package/dist/icon-presentation.d.ts +10 -0
  80. package/dist/icon-presentation.d.ts.map +1 -0
  81. package/dist/icon-presentation.js +12 -0
  82. package/dist/icon-presentation.js.map +1 -0
  83. package/dist/index.d.ts +14 -8
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +7 -5
  86. package/dist/index.js.map +1 -1
  87. package/dist/layout-preset.d.ts +1 -1
  88. package/dist/layout-preset.d.ts.map +1 -1
  89. package/dist/motion/reconciler.d.ts +6 -2
  90. package/dist/motion/reconciler.d.ts.map +1 -1
  91. package/dist/motion/reconciler.js +40 -10
  92. package/dist/motion/reconciler.js.map +1 -1
  93. package/dist/motion/types.d.ts +3 -1
  94. package/dist/motion/types.d.ts.map +1 -1
  95. package/dist/navigable-table.d.ts +9 -10
  96. package/dist/navigable-table.d.ts.map +1 -1
  97. package/dist/navigable-table.js +33 -14
  98. package/dist/navigable-table.js.map +1 -1
  99. package/dist/notification.d.ts +15 -0
  100. package/dist/notification.d.ts.map +1 -1
  101. package/dist/notification.js +98 -29
  102. package/dist/notification.js.map +1 -1
  103. package/dist/overlay.d.ts.map +1 -1
  104. package/dist/overlay.js +50 -19
  105. package/dist/overlay.js.map +1 -1
  106. package/dist/pager.d.ts +3 -1
  107. package/dist/pager.d.ts.map +1 -1
  108. package/dist/pager.js +4 -0
  109. package/dist/pager.js.map +1 -1
  110. package/dist/pipeline/middleware/grayscale.d.ts.map +1 -1
  111. package/dist/pipeline/middleware/grayscale.js +5 -5
  112. package/dist/pipeline/middleware/grayscale.js.map +1 -1
  113. package/dist/pipeline/middleware/motion.js +2 -2
  114. package/dist/pipeline/middleware/motion.js.map +1 -1
  115. package/dist/pipeline/middleware/surface-shaders.d.ts +37 -0
  116. package/dist/pipeline/middleware/surface-shaders.d.ts.map +1 -0
  117. package/dist/pipeline/middleware/surface-shaders.js +164 -0
  118. package/dist/pipeline/middleware/surface-shaders.js.map +1 -0
  119. package/dist/pipeline/pipeline.d.ts +29 -1
  120. package/dist/pipeline/pipeline.d.ts.map +1 -1
  121. package/dist/pipeline/pipeline.js +86 -23
  122. package/dist/pipeline/pipeline.js.map +1 -1
  123. package/dist/runtime.d.ts +19 -0
  124. package/dist/runtime.d.ts.map +1 -1
  125. package/dist/runtime.js +183 -30
  126. package/dist/runtime.js.map +1 -1
  127. package/dist/shell-quit.d.ts +1 -1
  128. package/dist/shell-quit.d.ts.map +1 -1
  129. package/dist/shell-quit.js +14 -3
  130. package/dist/shell-quit.js.map +1 -1
  131. package/dist/split-pane.d.ts +2 -2
  132. package/dist/split-pane.d.ts.map +1 -1
  133. package/dist/split-pane.js +28 -49
  134. package/dist/split-pane.js.map +1 -1
  135. package/dist/subapp/mount.d.ts +17 -0
  136. package/dist/subapp/mount.d.ts.map +1 -1
  137. package/dist/subapp/mount.js +13 -0
  138. package/dist/subapp/mount.js.map +1 -1
  139. package/dist/surface-layout.d.ts +8 -3
  140. package/dist/surface-layout.d.ts.map +1 -1
  141. package/dist/surface-layout.js +27 -12
  142. package/dist/surface-layout.js.map +1 -1
  143. package/dist/view-output.js +2 -2
  144. package/dist/view-output.js.map +1 -1
  145. package/dist/viewport.d.ts +13 -1
  146. package/dist/viewport.d.ts.map +1 -1
  147. package/dist/viewport.js +33 -11
  148. package/dist/viewport.js.map +1 -1
  149. package/package.json +3 -3
@@ -4,7 +4,7 @@
4
4
  * Recursive tree renderer, page content, maximized pane, header/help lines,
5
5
  * transition shader, and surface/string bridge helpers.
6
6
  */
7
- import { createSurface, darken, hexToRgb, lighten, mix, parseAnsiToSurface, saturate, resolveSafeCtx, } from '@flyingrobots/bijou';
7
+ import { createSurface, darken, hexToRgb, lighten, mix, parseAnsiToSurface, resolveSafeCtx, saturate, } from '@flyingrobots/bijou';
8
8
  import { TRANSITION_SHADERS } from './transition-shaders.js';
9
9
  import { fitBlock } from './layout-utils.js';
10
10
  import { splitPaneLayout } from './split-pane.js';
@@ -92,11 +92,11 @@ function paintActiveHeaderTab(surface, tabTargets, activePageId, ctx, tokenOverr
92
92
  if (activeTarget == null)
93
93
  return;
94
94
  const sampleCell = surface.get(activeTarget.startCol, 0);
95
- const backgroundHex = sampleCell.bg
95
+ const backgroundHex = (typeof sampleCell.bg === 'string' ? sampleCell.bg : sampleCell.bg?.hex)
96
96
  ?? ctx.surface('primary').bg
97
97
  ?? ctx.surface('secondary').bg
98
98
  ?? '#000000';
99
- const baseHex = sampleCell.fg
99
+ const baseHex = (typeof sampleCell.fg === 'string' ? sampleCell.fg : sampleCell.fg?.hex)
100
100
  ?? ctx.surface('primary').hex
101
101
  ?? ctx.semantic('primary').hex;
102
102
  const token = tokenOverride ?? deriveActiveHeaderTabToken(ctx, backgroundHex, baseHex);
@@ -133,7 +133,7 @@ function paintFrameNodeInto(node, localRect, absoluteRect, ctx, target, scratchP
133
133
  // Minimized pane: render as collapsed title bar
134
134
  if (isMinimized(ctx.visibility, node.paneId)) {
135
135
  const titleBar = `[${node.paneId}] \u25b8`; // ▸
136
- target.blit(blockSurface(titleBar, localRect.width, localRect.height), localRect.col, localRect.row);
136
+ target.blit(applySurfaceBackground(blockSurface(titleBar, localRect.width, localRect.height), ctx.frameBackgroundToken), localRect.col, localRect.row);
137
137
  return {
138
138
  paneRects: new Map([[node.paneId, absoluteRect]]),
139
139
  paneOrder: [node.paneId],
@@ -141,6 +141,7 @@ function paintFrameNodeInto(node, localRect, absoluteRect, ctx, target, scratchP
141
141
  }
142
142
  const prior = ctx.scrollByPane[node.paneId] ?? { x: 0, y: 0 };
143
143
  const contentSurface = framePaneOutputToSurface(node.render(localRect.width, localRect.height), localRect.width, localRect.height, getFramePaneScratch(scratchPool, localRect.width, localRect.height));
144
+ applySurfaceBackground(contentSurface, ctx.frameBackgroundToken);
144
145
  let state = createFocusAreaStateForSurface(contentSurface, {
145
146
  width: localRect.width,
146
147
  height: localRect.height,
@@ -150,7 +151,7 @@ function paintFrameNodeInto(node, localRect, absoluteRect, ctx, target, scratchP
150
151
  state = focusAreaScrollToX(state, prior.x);
151
152
  focusAreaSurfaceInto(contentSurface, state, target, {
152
153
  focused: node.paneId === ctx.focusedPaneId,
153
- ctx: resolveSafeCtx(),
154
+ ctx: ctx.ctx,
154
155
  id: node.paneId,
155
156
  classes: [node.paneId === ctx.focusedPaneId ? 'focused' : 'unfocused'],
156
157
  focusedGutterToken: node.focusedGutterToken,
@@ -225,8 +226,8 @@ function paintFrameNodeInto(node, localRect, absoluteRect, ctx, target, scratchP
225
226
  const absoluteAreaRect = offsetRect(areaRect, absoluteRect.row, absoluteRect.col);
226
227
  const child = node.cells[areaName];
227
228
  if (child == null) {
228
- resolveSafeCtx()?.io.writeError(`createFramedApp: grid cell "${areaName}" missing in page "${ctx.pageId}" — rendering placeholder\n`);
229
- target.blit(blockSurface(`[missing grid cell: ${areaName}]`, localAreaRect.width, localAreaRect.height), localAreaRect.col, localAreaRect.row);
229
+ ctx.ctx?.io.writeError(`createFramedApp: grid cell "${areaName}" missing in page "${ctx.pageId}" — rendering placeholder\n`);
230
+ target.blit(renderMissingGridCell(areaName, localAreaRect, ctx.frameBackgroundToken).surface, localAreaRect.col, localAreaRect.row);
230
231
  continue;
231
232
  }
232
233
  const rendered = paintFrameNodeInto(child, localAreaRect, absoluteAreaRect, ctx, target, scratchPool);
@@ -247,21 +248,24 @@ function paintFrameNodeInto(node, localRect, absoluteRect, ctx, target, scratchP
247
248
  return { paneRects, paneOrder };
248
249
  }
249
250
  /** Render a placeholder for a grid area that has no matching cell definition. */
250
- export function renderMissingGridCell(areaName, rect) {
251
+ export function renderMissingGridCell(areaName, rect, frameBackgroundToken) {
251
252
  return {
252
- surface: blockSurface(`[missing grid cell: ${areaName}]`, rect.width, rect.height),
253
+ surface: applySurfaceBackground(blockSurface(`[missing grid cell: ${areaName}]`, rect.width, rect.height), frameBackgroundToken),
253
254
  paneRects: new Map(),
254
255
  paneOrder: [],
255
256
  };
256
257
  }
257
258
  /** Render a page's layout tree within the frame body rect. */
258
- export function renderPageContent(pageId, model, bodyRect, pagesById) {
259
+ export function renderPageContent(pageId, model, bodyRect, pagesById, ctx) {
259
260
  const surface = createSurface(bodyRect.width, bodyRect.height);
260
- const geometry = renderPageContentInto(pageId, model, bodyRect, pagesById, surface, 0, 0);
261
+ const geometry = renderPageContentInto(pageId, model, bodyRect, pagesById, surface, 0, 0, createFramePaneScratchPool(), ctx);
261
262
  return { surface, paneRects: geometry.paneRects, paneOrder: geometry.paneOrder };
262
263
  }
263
264
  /** Paint a page's layout tree directly into an existing target surface. */
264
- export function renderPageContentInto(pageId, model, bodyRect, pagesById, target, offsetRow = bodyRect.row, offsetCol = bodyRect.col, scratchPool = createFramePaneScratchPool()) {
265
+ export function renderPageContentInto(pageId, model, bodyRect, pagesById, target, offsetRow = bodyRect.row, offsetCol = bodyRect.col, scratchPool = createFramePaneScratchPool(), ctx) {
266
+ const themeCtx = resolveRenderCtx(ctx);
267
+ const frameBackgroundToken = resolveFrameBackgroundToken(themeCtx);
268
+ fillSurfaceBackground(target, offsetCol, offsetRow, bodyRect.width, bodyRect.height, frameBackgroundToken);
265
269
  const page = pagesById.get(pageId);
266
270
  const pageModel = model.pageModels[pageId];
267
271
  const renderCtx = {
@@ -271,27 +275,33 @@ export function renderPageContentInto(pageId, model, bodyRect, pagesById, target
271
275
  scrollByPane: model.scrollByPage[pageId] ?? {},
272
276
  visibility: model.minimizedByPage[pageId] ?? createPanelVisibilityState(),
273
277
  dockState: model.dockStateByPage[pageId] ?? createPanelDockState(),
278
+ frameBackgroundToken,
279
+ ctx: themeCtx,
274
280
  };
275
281
  return paintFrameNodeInto(page.layout(pageModel), { row: offsetRow, col: offsetCol, width: bodyRect.width, height: bodyRect.height }, bodyRect, renderCtx, target, scratchPool);
276
282
  }
277
283
  /** Render only the maximized pane at the full body rect. */
278
- export function renderMaximizedPane(pageId, model, bodyRect, pagesById, maximizedPaneId, scratchPool = createFramePaneScratchPool()) {
284
+ export function renderMaximizedPane(pageId, model, bodyRect, pagesById, maximizedPaneId, scratchPool = createFramePaneScratchPool(), ctx) {
279
285
  const surface = createSurface(bodyRect.width, bodyRect.height);
280
- const geometry = renderMaximizedPaneInto(pageId, model, bodyRect, pagesById, maximizedPaneId, surface, 0, 0, scratchPool);
286
+ const geometry = renderMaximizedPaneInto(pageId, model, bodyRect, pagesById, maximizedPaneId, surface, 0, 0, scratchPool, ctx);
281
287
  return { surface, paneRects: geometry.paneRects, paneOrder: geometry.paneOrder };
282
288
  }
283
289
  /** Paint only the maximized pane directly into an existing target surface. */
284
- export function renderMaximizedPaneInto(pageId, model, bodyRect, pagesById, maximizedPaneId, target, offsetRow = bodyRect.row, offsetCol = bodyRect.col, scratchPool = createFramePaneScratchPool()) {
290
+ export function renderMaximizedPaneInto(pageId, model, bodyRect, pagesById, maximizedPaneId, target, offsetRow = bodyRect.row, offsetCol = bodyRect.col, scratchPool = createFramePaneScratchPool(), ctx) {
291
+ const themeCtx = resolveRenderCtx(ctx);
292
+ const frameBackgroundToken = resolveFrameBackgroundToken(themeCtx);
293
+ fillSurfaceBackground(target, offsetCol, offsetRow, bodyRect.width, bodyRect.height, frameBackgroundToken);
285
294
  const page = pagesById.get(pageId);
286
295
  const pageModel = model.pageModels[pageId];
287
296
  const layoutTree = page.layout(pageModel);
288
297
  const paneNode = findPaneNode(layoutTree, maximizedPaneId);
289
298
  if (paneNode == null) {
290
299
  // Pane not found, fall back to normal rendering
291
- return renderPageContentInto(pageId, model, bodyRect, pagesById, target, offsetRow, offsetCol, scratchPool);
300
+ return renderPageContentInto(pageId, model, bodyRect, pagesById, target, offsetRow, offsetCol, scratchPool, ctx);
292
301
  }
293
302
  const prior = model.scrollByPage[pageId]?.[maximizedPaneId] ?? { x: 0, y: 0 };
294
303
  const contentSurface = framePaneOutputToSurface(paneNode.render(bodyRect.width, bodyRect.height), bodyRect.width, bodyRect.height, getFramePaneScratch(scratchPool, bodyRect.width, bodyRect.height));
304
+ applySurfaceBackground(contentSurface, frameBackgroundToken);
295
305
  let state = createFocusAreaStateForSurface(contentSurface, {
296
306
  width: bodyRect.width,
297
307
  height: bodyRect.height,
@@ -301,7 +311,7 @@ export function renderMaximizedPaneInto(pageId, model, bodyRect, pagesById, maxi
301
311
  state = focusAreaScrollToX(state, prior.x);
302
312
  focusAreaSurfaceInto(contentSurface, state, target, {
303
313
  focused: true,
304
- ctx: resolveSafeCtx(),
314
+ ctx: themeCtx,
305
315
  id: maximizedPaneId,
306
316
  classes: ['focused', 'maximized'],
307
317
  focusedGutterToken: paneNode.focusedGutterToken,
@@ -313,8 +323,9 @@ export function renderMaximizedPaneInto(pageId, model, bodyRect, pagesById, maxi
313
323
  };
314
324
  }
315
325
  /** Resolve the top header line plus clickable tab target geometry. */
316
- export function resolveHeaderLine(model, options, pagesById, scratch) {
317
- const ctx = resolveSafeCtx();
326
+ export function resolveHeaderLine(model, options, pagesById, scratch, ctx) {
327
+ const renderCtx = resolveRenderCtx(ctx);
328
+ const frameBackgroundToken = resolveFrameBackgroundToken(renderCtx);
318
329
  const activePage = pagesById.get(model.activePageId);
319
330
  const activePageModel = model.pageModels[model.activePageId];
320
331
  const headerStyle = options.headerStyle?.({
@@ -345,19 +356,21 @@ export function resolveHeaderLine(model, options, pagesById, scratch) {
345
356
  return label;
346
357
  }).join(' ');
347
358
  const line = fitLine(`${title} ${tabs}`, model.columns);
348
- const surface = paintStyledTextSurfaceWithBCSS(scratch, line, model.columns, ctx, {
359
+ const surface = paintStyledTextSurfaceWithBCSS(scratch, line, model.columns, renderCtx, {
349
360
  type: 'FrameHeader',
350
361
  id: 'frame-header',
351
362
  classes: [`page-${model.activePageId}`],
352
363
  });
353
- paintActiveHeaderTab(surface, tabTargets, model.activePageId, ctx, headerStyle?.activeTabToken);
364
+ paintActiveHeaderTab(surface, tabTargets, model.activePageId, renderCtx, headerStyle?.activeTabToken);
365
+ applySurfaceBackground(surface, frameBackgroundToken);
354
366
  return {
355
367
  surface,
356
368
  tabTargets,
357
369
  };
358
370
  }
359
371
  /** Render the footer status line showing mode, focused pane, and key hints. */
360
- export function renderHelpLine(model, activeLayer, i18n, notificationCue, scratch) {
372
+ export function renderHelpLine(model, activeLayer, i18n, notificationCue, scratch, ctx) {
373
+ const renderCtx = resolveRenderCtx(ctx);
361
374
  const mode = activeLayer.kind === 'search' || activeLayer.kind === 'command-palette'
362
375
  ? 'PALETTE'
363
376
  : activeLayer.kind === 'help'
@@ -390,11 +403,11 @@ export function renderHelpLine(model, activeLayer, i18n, notificationCue, scratc
390
403
  : `${statusWithPadding} ${hint}`;
391
404
  })()
392
405
  : ` ${status}`;
393
- return paintStyledTextSurfaceWithBCSS(scratch, fitLine(line, model.columns), model.columns, resolveSafeCtx(), {
406
+ return applySurfaceBackground(paintStyledTextSurfaceWithBCSS(scratch, fitLine(line, model.columns), model.columns, renderCtx, {
394
407
  type: 'FrameHelp',
395
408
  id: 'frame-help',
396
409
  classes: [`mode-${mode.toLowerCase()}`, `page-${model.activePageId}`],
397
- });
410
+ }), resolveFrameBackgroundToken(renderCtx));
398
411
  }
399
412
  /**
400
413
  * Apply a transition shader to blend between the previous and next page views.
@@ -426,11 +439,57 @@ export function framePaneOutputToSurface(output, width, height, scratch) {
426
439
  export function blockSurface(content, width, height) {
427
440
  return parseAnsiToSurface(fitBlock(content, width, height).join('\n'), width, height);
428
441
  }
442
+ function resolveFrameBackgroundToken(ctx) {
443
+ const primary = ctx?.surface('primary');
444
+ if (primary?.bg != null || primary?.bgRGB != null)
445
+ return primary;
446
+ const secondary = ctx?.surface('secondary');
447
+ if (secondary?.bg != null || secondary?.bgRGB != null)
448
+ return secondary;
449
+ return undefined;
450
+ }
451
+ function resolveRenderCtx(ctx) {
452
+ return ctx ?? resolveSafeCtx();
453
+ }
454
+ function fillSurfaceBackground(target, offsetCol, offsetRow, width, height, backgroundToken) {
455
+ if (backgroundToken == null || width <= 0 || height <= 0)
456
+ return;
457
+ if (backgroundToken.bg == null && backgroundToken.bgRGB == null)
458
+ return;
459
+ target.fill({
460
+ char: ' ',
461
+ bg: backgroundToken.bg,
462
+ bgRGB: backgroundToken.bgRGB,
463
+ empty: false,
464
+ }, offsetCol, offsetRow, width, height);
465
+ }
466
+ function applySurfaceBackground(surface, backgroundToken) {
467
+ if (backgroundToken == null)
468
+ return surface;
469
+ if (backgroundToken.bg == null && backgroundToken.bgRGB == null)
470
+ return surface;
471
+ for (let y = 0; y < surface.height; y++) {
472
+ for (let x = 0; x < surface.width; x++) {
473
+ const cell = surface.get(x, y);
474
+ if (cell.bg != null || cell.bgRGB != null)
475
+ continue;
476
+ surface.set(x, y, {
477
+ ...cell,
478
+ char: cell.char.length > 0 ? cell.char : ' ',
479
+ bg: backgroundToken.bg,
480
+ bgRGB: backgroundToken.bgRGB,
481
+ empty: false,
482
+ });
483
+ }
484
+ }
485
+ return surface;
486
+ }
429
487
  function paintDivider(target, rect, dividerChar, direction) {
430
488
  const unit = resolveDividerUnit(dividerChar, direction === 'row' ? '│' : '─');
431
489
  for (let y = 0; y < rect.height; y++) {
432
490
  for (let x = 0; x < rect.width; x++) {
433
- target.set(rect.col + x, rect.row + y, { char: unit, empty: false });
491
+ const existing = target.get(rect.col + x, rect.row + y);
492
+ target.set(rect.col + x, rect.row + y, { ...existing, char: unit, empty: false });
434
493
  }
435
494
  }
436
495
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-render.js","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,GAAG,EACH,kBAAkB,EAClB,QAAQ,EAER,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,OAAO,GACR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAmB,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAwBrD,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,UAAU,GAAG,OAAO,GAAG,GAAG,CAAC;IACjC,OAAO,UAAU,IAAI,OAAO;QAC1B,CAAC,CAAC,UAAU,GAAG,KAAK;QACpB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAiB,EAAE,aAAqB,EAAE,OAAe;IAC3F,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAiB;QAC1B,MAAM;QACN,IAAI;QACJ,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;QACtB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;QACzB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC;KAC1B,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,cAAc;YACnB,CAAC,CAAC;gBACE,UAAU;gBACV,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;gBACnB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;aACvC;YACH,CAAC,CAAC;gBACE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;gBAClB,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;aACtC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACnC,IAAI,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC;QACtC,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAgB,EAChB,UAA2C,EAC3C,YAAoB,EACpB,GAA6B,EAC7B,aAA0B;IAE1B,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO;IACxB,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IACjF,IAAI,YAAY,IAAI,IAAI;QAAE,OAAO;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE;WAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;WACzB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;WAC3B,SAAS,CAAC;IACf,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE;WACxB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG;WAC1B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;IACjC,MAAM,KAAK,GAAG,aAAa,IAAI,0BAA0B,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEvF,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAS;YACrB,GAAG,IAAI;YACP,EAAE,EAAE,KAAK,CAAC,GAAG;YACb,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAChC,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACxE,KAAK,EAAE,KAAK;SACb,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAC7B,IAAqB,EACrB,IAAgB,EAChB,GAAkC;IAElC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAClG,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,kBAAkB,CAChC,IAAI,EACJ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAC1D,IAAI,EACJ,GAAG,EACH,OAAO,EACP,0BAA0B,EAAE,CAC7B,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAqB,EACrB,SAAqB,EACrB,YAAwB,EACxB,GAAkC,EAClC,MAAe,EACf,WAAiC;IAEjC,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,gDAAgD;QAChD,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI;YAChD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;YACrG,OAAO;gBACL,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;gBACjD,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;aACzB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,cAAc,GAAG,wBAAwB,CAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAC9C,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,MAAM,EAChB,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CACpE,CAAC;QACF,IAAI,KAAK,GAAG,8BAA8B,CAAC,cAAc,EAAE;YACzD,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,QAAQ;SACtC,CAAC,CAAC;QACH,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,oBAAoB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;YAClD,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa;YAC1C,GAAG,EAAE,cAAc,EAAE;YACrB,EAAE,EAAE,IAAI,CAAC,MAAM;YACf,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YACtE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO;YACL,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YACjD,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QAE1C,qCAAqC;QACrC,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAErD,2EAA2E;QAC3E,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,kDAAkD;QAClD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,wCAAwC;YACxC,MAAM,aAAa,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YACjD,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;QACpF,CAAC;aAAM,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,2CAA2C;YAC3C,MAAM,aAAa,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YACjD,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE;YACzC,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAEnF,MAAM,CAAC,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9F,MAAM,CAAC,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE9F,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE5G,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;YAC9C,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,cAAc,EAAE,EAAE,EAAE,CAAC,UAAU,CAC7B,+BAA+B,QAAQ,sBAAsB,GAAG,CAAC,MAAM,6BAA6B,CACrG,CAAC;YACF,MAAM,CAAC,IAAI,CACT,YAAY,CAAC,uBAAuB,QAAQ,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3F,aAAa,CAAC,GAAG,EACjB,aAAa,CAAC,GAAG,CAClB,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACtG,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,sBAAsB,CAAC,CAAC;YACtF,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,0BAA0B,CAAC,CAAC;YAC1F,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,IAAgB;IACtE,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,uBAAuB,QAAQ,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QAClF,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,KAAyC,EACzC,QAAoB,EACpB,SAAiD;IAEjD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;AACnF,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,KAAyC,EACzC,QAAoB,EACpB,SAAiD,EACjD,MAAe,EACf,SAAS,GAAG,QAAQ,CAAC,GAAG,EACxB,SAAS,GAAG,QAAQ,CAAC,GAAG,EACxB,cAAoC,0BAA0B,EAAE;IAEhE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC;IAC5C,MAAM,SAAS,GAAkC;QAC/C,KAAK;QACL,MAAM;QACN,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;QAC9C,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,0BAA0B,EAAE;QACzE,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,oBAAoB,EAAE;KACnE,CAAC;IACF,OAAO,kBAAkB,CACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EACtB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAClF,QAAQ,EACR,SAAS,EACT,MAAM,EACN,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,KAAyC,EACzC,QAAoB,EACpB,SAAiD,EACjD,eAAuB,EACvB,cAAoC,0BAA0B,EAAE;IAEhE,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAC1H,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;AACnF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,KAAyC,EACzC,QAAoB,EACpB,SAAiD,EACjD,eAAuB,EACvB,MAAe,EACf,SAAS,GAAG,QAAQ,CAAC,GAAG,EACxB,SAAS,GAAG,QAAQ,CAAC,GAAG,EACxB,cAAoC,0BAA0B,EAAE;IAEhE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,gDAAgD;QAChD,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,wBAAwB,CAC7C,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAChD,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,MAAM,EACf,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAClE,CAAC;IACF,IAAI,KAAK,GAAG,8BAA8B,CAAC,cAAc,EAAE;QACzD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,QAAQ;KAC1C,CAAC,CAAC;IACH,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3C,oBAAoB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;QAClD,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,cAAc,EAAE;QACrB,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QACjC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;KACpD,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEzB,OAAO;QACL,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjD,SAAS,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAC/B,KAAyC,EACzC,OAA+C,EAC/C,SAAiD,EACjD,OAAiB;IAEjB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAE,CAAC;IACtD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK;QACL,UAAU;QACV,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,IAAI,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QAChC,MAAM,KAAK,GAAG,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;QAChF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;gBAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC;QAChB,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,8BAA8B,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;QAChF,IAAI,EAAE,aAAa;QACnB,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE,CAAC,QAAQ,KAAK,CAAC,YAAY,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAChG,OAAO;QACL,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAC5B,KAAyC,EACzC,WAAiC,EACjC,IAAoD,EACpD,eAAwB,EACxB,OAAiB;IAEjB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB;QAClF,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM;YAC3B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc;gBACnC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU;oBAC/B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB;wBAC1C,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;4BACjC,CAAC,CAAC,OAAO;4BACT,CAAC,CAAC,QAAQ,CAAC;IACvB,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC;IACvE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,IAAI,IAAI,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QACpE,CAAC,CAAC,IAAI,SAAS,UAAU,KAAK,CAAC,YAAY,SAAS,WAAW,EAAE;QACjE,CAAC,CAAC,IAAI,SAAS,UAAU,KAAK,CAAC,YAAY,SAAS,WAAW,IAAI,eAAe,EAAE,CAAC;IAEvF,MAAM,IAAI,GAAG,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;QACrD,CAAC,CAAC,WAAW,CAAC,UAAU;QACxB,CAAC,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,MAAM,iBAAiB,GAAG,IAAI,MAAM,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACnF,OAAO,GAAG,IAAI,CAAC;gBACb,CAAC,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE;gBACjD,CAAC,CAAC,GAAG,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;IACjB,OAAO,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE;QAC5G,IAAI,EAAE,WAAW;QACjB,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,KAAK,CAAC,YAAY,EAAE,CAAC;KACtE,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAa,EACb,IAAa,EACb,KAAqB,EACrB,QAAgB,EAChB,KAAa,EACb,MAAc,EACd,GAAiB,EACjB,KAAK,GAAG,CAAC;IAET,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,UAAU,CAAC;YAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAkB,EAClB,KAAa,EACb,MAAc,EACd,OAAiB;IAEjB,OAAO,OAAO,IAAI,IAAI;QACpB,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO;QACxD,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACzE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,YAAY,CACnB,MAAe,EACf,IAAgB,EAChB,WAA+B,EAC/B,SAA2B;IAE3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,WAA+B,EAAE,QAAgB;IAC3E,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrE,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;AACpC,CAAC;AAKD,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA0B,EAAE,KAAa,EAAE,MAAc;IACpF,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAc,EACd,MAAwB;IAExB,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,MAAM,CAAC,YAAY;YACtB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI;YAC9B,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,MAAM,CAAC,YAAY;YACzB,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app-frame-render.js","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,17 @@
4
4
  * This module contains the public framed-app message wrappers plus the
5
5
  * internal wiring used by `createFramedApp`.
6
6
  */
7
- import type { CommandPaletteItem } from './command-palette.js';
8
- import type { App, Cmd, KeyMsg, MouseMsg, PulseMsg } from './types.js';
7
+ import type { CommandPaletteItem, CommandPaletteState } from './command-palette.js';
8
+ import type { NotificationSpec } from './notification.js';
9
+ import type { App, Cmd, KeyMsg, MouseMsg, PulseMsg, RunOptions } from './types.js';
9
10
  import type { BindingInfo } from './keybindings.js';
10
11
  import type { PanelVisibilityState } from './panel-state.js';
11
12
  import type { PanelDockState } from './panel-dock.js';
12
- import type { FrameModel } from './app-frame.js';
13
+ import type { BijouContext, TokenValue } from '@flyingrobots/bijou';
13
14
  export declare const PAGE_MSG_TOKEN: unique symbol;
14
15
  export declare const FRAME_MSG_TOKEN: unique symbol;
15
16
  export type PaletteKind = 'command' | 'search';
17
+ export type FrameNotificationSpec = Omit<NotificationSpec<never>, 'action'>;
16
18
  /** Message type delivered to a framed page update. */
17
19
  export type FramePageMsg<Msg> = Msg | MouseMsg | PulseMsg;
18
20
  /** Typed tuple returned by framed pages from `init()` and `update()`. */
@@ -32,14 +34,117 @@ export interface FrameScopedMsg {
32
34
  export type FramedAppMsg<Msg> = Msg | PageScopedMsg<Msg> | FrameScopedMsg;
33
35
  /** Typed update tuple returned by a framed app. */
34
36
  export type FramedAppUpdateResult<PageModel, Msg> = [FrameModel<PageModel>, Cmd<FramedAppMsg<Msg>>[]];
35
- /** Fully typed `App` contract returned by `createFramedApp()`. */
36
- export type FramedApp<PageModel, Msg> = App<FrameModel<PageModel>, FramedAppMsg<Msg>>;
37
+ /** Hosted runtime options accepted by a self-running framed app. */
38
+ export interface FramedAppRunOptions<Msg> extends RunOptions<FramedAppMsg<Msg>> {
39
+ /**
40
+ * Optional frame budget in milliseconds used for shell timing telemetry.
41
+ *
42
+ * Defaults to the host runtime refresh budget (`1000 / refreshRate`) when
43
+ * omitted.
44
+ */
45
+ readonly frameBudgetMs?: number;
46
+ }
47
+ /** Fully typed framed-app contract returned by `createFramedApp()`. */
48
+ export interface FramedApp<PageModel, Msg> extends App<FrameModel<PageModel>, FramedAppMsg<Msg>> {
49
+ /**
50
+ * Run the framed app through the hosted runtime.
51
+ *
52
+ * Framed apps default `mouse` input to `true` because the shell already
53
+ * ships retained hit-testing and pane-aware pointer routing.
54
+ */
55
+ run(options?: FramedAppRunOptions<Msg>): Promise<void>;
56
+ }
57
+ /** Stored pane scroll coordinates. */
58
+ export interface FramePaneScroll {
59
+ /** Horizontal offset. */
60
+ readonly x: number;
61
+ /** Vertical offset. */
62
+ readonly y: number;
63
+ }
64
+ /** Runtime model owned by the frame. */
65
+ export interface FrameModel<PageModel> {
66
+ /** Current active page id. */
67
+ readonly activePageId: string;
68
+ /** Currently selected stock shell theme id (if shell themes are enabled). */
69
+ readonly activeShellThemeId?: string;
70
+ /** Stable page order. */
71
+ readonly pageOrder: readonly string[];
72
+ /** Current model per page id. */
73
+ readonly pageModels: Readonly<Record<string, PageModel>>;
74
+ /** Focused pane id per page (if any). */
75
+ readonly focusedPaneByPage: Readonly<Record<string, string | undefined>>;
76
+ /** Per-page/per-pane scroll positions. */
77
+ readonly scrollByPage: Readonly<Record<string, Readonly<Record<string, FramePaneScroll>>>>;
78
+ /** Current terminal width. */
79
+ readonly columns: number;
80
+ /** Current terminal height. */
81
+ readonly rows: number;
82
+ /** Total wall time of the most recently committed frame. */
83
+ readonly frameTimeMs: number;
84
+ /** Layout/view stage duration of the most recently committed frame. */
85
+ readonly viewTimeMs: number;
86
+ /** Diff stage duration of the most recently committed frame. */
87
+ readonly diffTimeMs: number;
88
+ /** Active frame budget in milliseconds, when the hosted runner owns it. */
89
+ readonly frameBudgetMs?: number;
90
+ /** Whether the most recently committed frame exceeded the current budget. */
91
+ readonly frameOverBudget: boolean;
92
+ /** Help visibility flag. */
93
+ readonly helpOpen: boolean;
94
+ /** Command palette state (undefined when closed). */
95
+ readonly commandPalette?: CommandPaletteState;
96
+ /** Kind of active shell palette (`search` vs `command`). */
97
+ readonly commandPaletteKind?: 'command' | 'search';
98
+ /** Settings drawer visibility flag. */
99
+ readonly settingsOpen: boolean;
100
+ /** Notification center visibility flag. */
101
+ readonly notificationCenterOpen: boolean;
102
+ /** Quit-confirm modal visibility flag. */
103
+ readonly quitConfirmOpen: boolean;
104
+ /** Active settings row index. */
105
+ readonly settingsFocusIndex: number;
106
+ /** Vertical scroll offset for the settings drawer. */
107
+ readonly settingsScrollY: number;
108
+ /** Vertical scroll offset for the notification center. */
109
+ readonly notificationCenterScrollY: number;
110
+ /** ID of the page we are transitioning away from. */
111
+ readonly previousPageId?: string;
112
+ /** Transition progress (0 to 1). */
113
+ readonly transitionProgress: number;
114
+ /** Monotonic counter to discard stale transition ticks. */
115
+ readonly transitionGeneration: number;
116
+ /** Currently active transition style. */
117
+ readonly activeTransition?: import('./app-frame.js').PageTransition;
118
+ /** Wall-clock start time of the active transition (ms since epoch). */
119
+ readonly transitionStartMs?: number;
120
+ /** Compiled timeline driving the active transition. */
121
+ readonly transitionTimeline?: import('./timeline.js').Timeline;
122
+ /** Timeline state for the active transition. */
123
+ readonly transitionTimelineState?: import('./timeline.js').TimelineState;
124
+ /** Monotonic frame counter for the active transition (for temporal shader effects). */
125
+ readonly transitionFrame: number;
126
+ /** Per-page panel visibility (minimize/fold) state. */
127
+ readonly minimizedByPage: Readonly<Record<string, import('./panel-state.js').PanelVisibilityState>>;
128
+ /** Per-page maximized pane state. */
129
+ readonly maximizedPaneByPage: Readonly<Record<string, import('./panel-state.js').PanelMaximizeState>>;
130
+ /** Per-page dock order state. */
131
+ readonly dockStateByPage: Readonly<Record<string, import('./panel-dock.js').PanelDockState>>;
132
+ /** Per-page split ratio overrides (from layout presets/session restore). */
133
+ readonly splitRatioOverrides: Readonly<Record<string, Readonly<Record<string, number>>>>;
134
+ /** Frame-managed runtime notifications. */
135
+ readonly runtimeNotifications: import('./notification.js').NotificationState<never>;
136
+ /** Active filter for the shell fallback notification center. */
137
+ readonly runtimeNotificationHistoryFilter: import('./notification.js').NotificationHistoryFilter;
138
+ /** Whether the runtime notification tick loop is active. */
139
+ readonly runtimeNotificationLoopActive: boolean;
140
+ }
37
141
  /** Internal model extending the public FrameModel with palette entries. */
38
142
  export interface InternalFrameModel<PageModel, Msg> extends FrameModel<PageModel> {
39
143
  readonly commandPaletteEntries?: readonly PaletteEntry<Msg>[];
40
144
  readonly commandPaletteTitle?: string;
41
145
  readonly commandPaletteKind?: PaletteKind;
42
146
  readonly helpScrollY: number;
147
+ readonly warnedFrameKeyCollisionPages: Readonly<Record<string, true>>;
43
148
  }
44
149
  /** A command palette entry linking a UI item to an action or message. */
45
150
  export interface PaletteEntry<Msg> {
@@ -60,6 +165,8 @@ export interface RenderContext<PageModel, Msg> {
60
165
  }>>;
61
166
  readonly visibility: PanelVisibilityState;
62
167
  readonly dockState: PanelDockState;
168
+ readonly frameBackgroundToken: TokenValue | undefined;
169
+ readonly ctx?: BijouContext;
63
170
  }
64
171
  /** Output of a layout node render pass. */
65
172
  export interface RenderResult {
@@ -74,6 +181,9 @@ export type FrameAction = {
74
181
  type: 'toggle-settings';
75
182
  } | {
76
183
  type: 'toggle-notifications';
184
+ } | {
185
+ type: 'push-notification';
186
+ notification: FrameNotificationSpec;
77
187
  } | {
78
188
  type: 'prev-tab';
79
189
  } | {
@@ -175,6 +285,9 @@ export type FrameShellCommand<Msg> = {
175
285
  readonly position: 'top' | 'bottom';
176
286
  } | {
177
287
  readonly type: 'cycle-notification-filter';
288
+ } | {
289
+ readonly type: 'warn-frame-key-collision';
290
+ readonly msg: KeyMsg;
178
291
  } | {
179
292
  readonly type: 'help-scroll';
180
293
  readonly action: 'up' | 'down' | 'page-up' | 'page-down' | 'top' | 'bottom';
@@ -228,6 +341,10 @@ export type PaletteAction = {
228
341
  export declare function isFrameScopedMsg(value: unknown): value is FrameScopedMsg;
229
342
  /** Wrap a frame action into a FrameScopedMsg for the update loop. */
230
343
  export declare function wrapFrameMsg(action: FrameAction): FrameScopedMsg;
344
+ /** Create a page command that emits a frame-scoped action back to the shell. */
345
+ export declare function emitFrameAction<Msg>(action: FrameAction): Cmd<Msg>;
346
+ /** Create a page command that pushes a frame-managed transient notification. */
347
+ export declare function notify<Msg>(notification: FrameNotificationSpec): Cmd<Msg>;
231
348
  /** Type guard: is this message a page-scoped wrapper? */
232
349
  export declare function isPageScopedMsg<Msg>(value: unknown): value is PageScopedMsg<Msg>;
233
350
  /** Tag a page-bound message with its originating page ID. */
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-types.d.ts","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-types.d.ts","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,14 @@ export function wrapFrameMsg(action) {
27
27
  action,
28
28
  };
29
29
  }
30
+ /** Create a page command that emits a frame-scoped action back to the shell. */
31
+ export function emitFrameAction(action) {
32
+ return async (_emit, _caps) => wrapFrameMsg(action);
33
+ }
34
+ /** Create a page command that pushes a frame-managed transient notification. */
35
+ export function notify(notification) {
36
+ return emitFrameAction({ type: 'push-notification', notification });
37
+ }
30
38
  /** Type guard: is this message a page-scoped wrapper? */
31
39
  export function isPageScopedMsg(value) {
32
40
  return typeof value === 'object'
@@ -53,11 +61,19 @@ export function emitMsgForPage(pageId, msg) {
53
61
  /** Wrap a page-level command so its emitted messages are tagged with the page ID. */
54
62
  export function wrapCmdForPage(pageId, cmd) {
55
63
  return async (emit, caps) => {
56
- const result = await cmd((msg) => emit(wrapPageMsg(pageId, msg)), caps);
64
+ const result = await cmd((msg) => {
65
+ if (isFrameScopedMsg(msg)) {
66
+ emit(msg);
67
+ return;
68
+ }
69
+ emit(wrapPageMsg(pageId, msg));
70
+ }, caps);
57
71
  if (result === undefined || result === QUIT)
58
72
  return result;
59
73
  if (isCmdCleanup(result))
60
74
  return result;
75
+ if (isFrameScopedMsg(result))
76
+ return result;
61
77
  return wrapPageMsg(pageId, result);
62
78
  };
63
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-types.js","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMhD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AA8K7D,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,eAAe,IAAI,KAAK;WACvB,KAAwB,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AAC3D,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO;QACL,CAAC,eAAe,CAAC,EAAE,IAAI;QACvB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,eAAe,CAAM,KAAc;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,cAAc,IAAI,KAAK;WACtB,KAA4B,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAM,MAAc,EAAE,GAAsB;IACrE,OAAO;QACL,CAAC,cAAc,CAAC,EAAE,IAAI;QACtB,MAAM;QACN,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAM,GAAQ;IACnC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAM,MAAc,EAAE,GAAsB;IACxE,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAM,MAAc,EAAE,GAAa;IAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAC3D,IAAI,YAAY,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACxC,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,OAAO;QACL,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;QACtB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;KAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app-frame-types.js","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"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"}