@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.
- package/README.md +102 -600
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +6 -1
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-i18n.d.ts.map +1 -1
- package/dist/app-frame-i18n.js +53 -0
- package/dist/app-frame-i18n.js.map +1 -1
- package/dist/app-frame-layers.d.ts +11 -1
- package/dist/app-frame-layers.d.ts.map +1 -1
- package/dist/app-frame-layers.js +19 -0
- package/dist/app-frame-layers.js.map +1 -1
- package/dist/app-frame-overlays.d.ts +82 -0
- package/dist/app-frame-overlays.d.ts.map +1 -0
- package/dist/app-frame-overlays.js +480 -0
- package/dist/app-frame-overlays.js.map +1 -0
- package/dist/app-frame-render.d.ts +8 -8
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +84 -25
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +122 -5
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js +17 -1
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +6 -5
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame.d.ts +43 -83
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +499 -575
- package/dist/app-frame.js.map +1 -1
- package/dist/browsable-list.d.ts +12 -0
- package/dist/browsable-list.d.ts.map +1 -1
- package/dist/browsable-list.js +17 -6
- package/dist/browsable-list.js.map +1 -1
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +27 -7
- package/dist/canvas.js.map +1 -1
- package/dist/collection-surface.d.ts +8 -0
- package/dist/collection-surface.d.ts.map +1 -1
- package/dist/collection-surface.js +72 -8
- package/dist/collection-surface.js.map +1 -1
- package/dist/command-palette.d.ts +5 -3
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +5 -3
- package/dist/command-palette.js.map +1 -1
- package/dist/css/text-style.d.ts +2 -0
- package/dist/css/text-style.d.ts.map +1 -1
- package/dist/css/text-style.js +18 -8
- package/dist/css/text-style.js.map +1 -1
- package/dist/debug-overlay.d.ts +19 -0
- package/dist/debug-overlay.d.ts.map +1 -0
- package/dist/debug-overlay.js +25 -0
- package/dist/debug-overlay.js.map +1 -0
- package/dist/design-language.d.ts.map +1 -1
- package/dist/design-language.js +4 -5
- package/dist/design-language.js.map +1 -1
- package/dist/driver.d.ts +102 -0
- package/dist/driver.d.ts.map +1 -1
- package/dist/driver.js +259 -19
- package/dist/driver.js.map +1 -1
- package/dist/file-picker.d.ts.map +1 -1
- package/dist/file-picker.js +2 -2
- package/dist/file-picker.js.map +1 -1
- package/dist/flex.d.ts.map +1 -1
- package/dist/flex.js +6 -6
- package/dist/flex.js.map +1 -1
- package/dist/focus-area.d.ts +9 -1
- package/dist/focus-area.d.ts.map +1 -1
- package/dist/focus-area.js +69 -40
- package/dist/focus-area.js.map +1 -1
- package/dist/grid.d.ts +2 -2
- package/dist/grid.d.ts.map +1 -1
- package/dist/grid.js +11 -148
- package/dist/grid.js.map +1 -1
- package/dist/help.d.ts +2 -0
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +6 -4
- package/dist/help.js.map +1 -1
- package/dist/icon-presentation.d.ts +10 -0
- package/dist/icon-presentation.d.ts.map +1 -0
- package/dist/icon-presentation.js +12 -0
- package/dist/icon-presentation.js.map +1 -0
- package/dist/index.d.ts +14 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/layout-preset.d.ts +1 -1
- package/dist/layout-preset.d.ts.map +1 -1
- package/dist/motion/reconciler.d.ts +6 -2
- package/dist/motion/reconciler.d.ts.map +1 -1
- package/dist/motion/reconciler.js +40 -10
- package/dist/motion/reconciler.js.map +1 -1
- package/dist/motion/types.d.ts +3 -1
- package/dist/motion/types.d.ts.map +1 -1
- package/dist/navigable-table.d.ts +9 -10
- package/dist/navigable-table.d.ts.map +1 -1
- package/dist/navigable-table.js +33 -14
- package/dist/navigable-table.js.map +1 -1
- package/dist/notification.d.ts +15 -0
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +98 -29
- package/dist/notification.js.map +1 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +50 -19
- package/dist/overlay.js.map +1 -1
- package/dist/pager.d.ts +3 -1
- package/dist/pager.d.ts.map +1 -1
- package/dist/pager.js +4 -0
- package/dist/pager.js.map +1 -1
- package/dist/pipeline/middleware/grayscale.d.ts.map +1 -1
- package/dist/pipeline/middleware/grayscale.js +5 -5
- package/dist/pipeline/middleware/grayscale.js.map +1 -1
- package/dist/pipeline/middleware/motion.js +2 -2
- package/dist/pipeline/middleware/motion.js.map +1 -1
- package/dist/pipeline/middleware/surface-shaders.d.ts +37 -0
- package/dist/pipeline/middleware/surface-shaders.d.ts.map +1 -0
- package/dist/pipeline/middleware/surface-shaders.js +164 -0
- package/dist/pipeline/middleware/surface-shaders.js.map +1 -0
- package/dist/pipeline/pipeline.d.ts +29 -1
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +86 -23
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/runtime.d.ts +19 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +183 -30
- package/dist/runtime.js.map +1 -1
- package/dist/shell-quit.d.ts +1 -1
- package/dist/shell-quit.d.ts.map +1 -1
- package/dist/shell-quit.js +14 -3
- package/dist/shell-quit.js.map +1 -1
- package/dist/split-pane.d.ts +2 -2
- package/dist/split-pane.d.ts.map +1 -1
- package/dist/split-pane.js +28 -49
- package/dist/split-pane.js.map +1 -1
- package/dist/subapp/mount.d.ts +17 -0
- package/dist/subapp/mount.d.ts.map +1 -1
- package/dist/subapp/mount.js +13 -0
- package/dist/subapp/mount.js.map +1 -1
- package/dist/surface-layout.d.ts +8 -3
- package/dist/surface-layout.d.ts.map +1 -1
- package/dist/surface-layout.js +27 -12
- package/dist/surface-layout.js.map +1 -1
- package/dist/view-output.js +2 -2
- package/dist/view-output.js.map +1 -1
- package/dist/viewport.d.ts +13 -1
- package/dist/viewport.d.ts.map +1 -1
- package/dist/viewport.js +33 -11
- package/dist/viewport.js.map +1 -1
- package/package.json +3 -3
|
@@ -3,6 +3,14 @@ export declare function insetLineSurface(text: string, width: number): Surface;
|
|
|
3
3
|
export declare function collectionRowsSurface(lines: readonly string[], options: {
|
|
4
4
|
readonly width: number;
|
|
5
5
|
readonly selectedRowIndex?: number;
|
|
6
|
+
readonly selectedRowOverflow?: SelectedRowOverflow;
|
|
6
7
|
readonly ctx?: BijouContext;
|
|
7
8
|
}): Surface;
|
|
9
|
+
export type SelectedRowOverflow = 'clip' | {
|
|
10
|
+
readonly mode: 'marquee';
|
|
11
|
+
readonly elapsedMs: number;
|
|
12
|
+
readonly stepMs?: number;
|
|
13
|
+
readonly startDelayMs?: number;
|
|
14
|
+
readonly endDelayMs?: number;
|
|
15
|
+
};
|
|
8
16
|
//# sourceMappingURL=collection-surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-surface.d.ts","sourceRoot":"","sources":["../src/collection-surface.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"collection-surface.d.ts","sourceRoot":"","sources":["../src/collection-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EAEjB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAmB7B,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B,GACA,OAAO,CA8BT;AAED,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { createSurface, FULL_MASK, parseAnsiToSurface, } from '@flyingrobots/bijou';
|
|
2
|
-
import { clipToWidth } from './viewport.js';
|
|
1
|
+
import { createSurface, FULL_MASK, parseAnsiToSurface, sanitizePositiveInt, } from '@flyingrobots/bijou';
|
|
2
|
+
import { clipToWidth, tokenizeAnsi, visibleLength } from './viewport.js';
|
|
3
3
|
const PRESERVE_BG_MASK = {
|
|
4
4
|
...FULL_MASK,
|
|
5
5
|
bg: false,
|
|
6
6
|
};
|
|
7
|
+
const MARQUEE_CACHE_LIMIT = 128;
|
|
8
|
+
const marqueeLineCache = new Map();
|
|
7
9
|
function rowInsetForWidth(width) {
|
|
8
10
|
return width >= 3 ? 1 : 0;
|
|
9
11
|
}
|
|
10
12
|
export function insetLineSurface(text, width) {
|
|
11
|
-
const safeWidth =
|
|
13
|
+
const safeWidth = sanitizePositiveInt(width, 1);
|
|
12
14
|
const startCol = rowInsetForWidth(safeWidth);
|
|
13
15
|
const innerWidth = Math.max(1, safeWidth - (startCol * 2));
|
|
14
16
|
const surface = createSurface(safeWidth, 1, { char: ' ', empty: false });
|
|
@@ -17,25 +19,87 @@ export function insetLineSurface(text, width) {
|
|
|
17
19
|
return surface;
|
|
18
20
|
}
|
|
19
21
|
export function collectionRowsSurface(lines, options) {
|
|
20
|
-
const safeWidth =
|
|
22
|
+
const safeWidth = sanitizePositiveInt(options.width, 1);
|
|
21
23
|
const height = Math.max(1, lines.length);
|
|
22
24
|
const startCol = rowInsetForWidth(safeWidth);
|
|
23
25
|
const innerWidth = Math.max(1, safeWidth - (startCol * 2));
|
|
24
26
|
const selectedBg = resolveSelectedRowBg(options.ctx);
|
|
25
27
|
const surface = createSurface(safeWidth, height, { char: ' ', empty: false });
|
|
26
28
|
for (let row = 0; row < lines.length; row++) {
|
|
27
|
-
const selected = row === options.selectedRowIndex
|
|
28
|
-
|
|
29
|
+
const selected = row === options.selectedRowIndex;
|
|
30
|
+
const paintSelectedBg = selected && selectedBg != null;
|
|
31
|
+
if (paintSelectedBg) {
|
|
29
32
|
surface.fill({ char: ' ', bg: selectedBg, empty: false }, 0, row, safeWidth, 1);
|
|
30
33
|
}
|
|
31
|
-
const
|
|
32
|
-
|
|
34
|
+
const lineText = resolveRowText(lines[row], innerWidth, selected, options.selectedRowOverflow);
|
|
35
|
+
const lineSurface = parseAnsiToSurface(lineText, innerWidth, 1);
|
|
36
|
+
surface.blit(lineSurface, startCol, row, 0, 0, innerWidth, 1, paintSelectedBg ? PRESERVE_BG_MASK : FULL_MASK);
|
|
33
37
|
}
|
|
34
38
|
return surface;
|
|
35
39
|
}
|
|
40
|
+
function resolveRowText(line, innerWidth, selected, overflow) {
|
|
41
|
+
if (!selected || overflow == null || overflow === 'clip') {
|
|
42
|
+
return clipToWidth(line, innerWidth);
|
|
43
|
+
}
|
|
44
|
+
if (overflow.mode !== 'marquee') {
|
|
45
|
+
return clipToWidth(line, innerWidth);
|
|
46
|
+
}
|
|
47
|
+
return marqueeToWidth(line, innerWidth, overflow);
|
|
48
|
+
}
|
|
49
|
+
function marqueeToWidth(line, width, options) {
|
|
50
|
+
if (width <= 0)
|
|
51
|
+
return '';
|
|
52
|
+
const cached = getCachedMarqueeLine(line);
|
|
53
|
+
if (cached.visibleWidth <= width)
|
|
54
|
+
return clipToWidth(line, width);
|
|
55
|
+
const overflow = cached.visibleWidth - width;
|
|
56
|
+
const stepMs = Math.max(1, Math.floor(options.stepMs ?? 220));
|
|
57
|
+
const startPauseSteps = Math.max(1, Math.round(Math.max(0, options.startDelayMs ?? 700) / stepMs));
|
|
58
|
+
const endPauseSteps = Math.max(1, Math.round(Math.max(0, options.endDelayMs ?? 900) / stepMs));
|
|
59
|
+
const forwardSteps = overflow;
|
|
60
|
+
const reverseSteps = Math.max(0, overflow - 1);
|
|
61
|
+
const cycleLength = startPauseSteps + forwardSteps + endPauseSteps + reverseSteps;
|
|
62
|
+
const stepIndex = Math.floor(Math.max(0, options.elapsedMs) / stepMs) % cycleLength;
|
|
63
|
+
let offset = 0;
|
|
64
|
+
if (stepIndex < startPauseSteps) {
|
|
65
|
+
offset = 0;
|
|
66
|
+
}
|
|
67
|
+
else if (stepIndex < startPauseSteps + forwardSteps) {
|
|
68
|
+
offset = stepIndex - startPauseSteps + 1;
|
|
69
|
+
}
|
|
70
|
+
else if (stepIndex < startPauseSteps + forwardSteps + endPauseSteps) {
|
|
71
|
+
offset = overflow;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const reverseIndex = stepIndex - startPauseSteps - forwardSteps - endPauseSteps;
|
|
75
|
+
offset = overflow - 1 - reverseIndex;
|
|
76
|
+
}
|
|
77
|
+
return cached.cells.slice(offset, offset + width).join('');
|
|
78
|
+
}
|
|
36
79
|
function resolveSelectedRowBg(ctx) {
|
|
37
80
|
return ctx?.surface('elevated').bg
|
|
38
81
|
?? ctx?.surface('secondary').bg
|
|
39
82
|
?? ctx?.surface('muted').bg;
|
|
40
83
|
}
|
|
84
|
+
function getCachedMarqueeLine(line) {
|
|
85
|
+
const cached = marqueeLineCache.get(line);
|
|
86
|
+
if (cached != null) {
|
|
87
|
+
marqueeLineCache.delete(line);
|
|
88
|
+
marqueeLineCache.set(line, cached);
|
|
89
|
+
return cached;
|
|
90
|
+
}
|
|
91
|
+
const visibleWidth = visibleLength(line);
|
|
92
|
+
const next = {
|
|
93
|
+
visibleWidth,
|
|
94
|
+
cells: tokenizeAnsi(line, visibleWidth),
|
|
95
|
+
};
|
|
96
|
+
marqueeLineCache.set(line, next);
|
|
97
|
+
if (marqueeLineCache.size > MARQUEE_CACHE_LIMIT) {
|
|
98
|
+
const oldestKey = marqueeLineCache.keys().next().value;
|
|
99
|
+
if (typeof oldestKey === 'string') {
|
|
100
|
+
marqueeLineCache.delete(oldestKey);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return next;
|
|
104
|
+
}
|
|
41
105
|
//# sourceMappingURL=collection-surface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-surface.js","sourceRoot":"","sources":["../src/collection-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,kBAAkB,
|
|
1
|
+
{"version":3,"file":"collection-surface.js","sourceRoot":"","sources":["../src/collection-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,gBAAgB,GAAa;IACjC,GAAG,SAAS;IACZ,EAAE,EAAE,KAAK;CACV,CAAC;AACF,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAO9D,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAwB,EACxB,OAKC;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9E,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,KAAK,OAAO,CAAC,gBAAgB,CAAC;QAClD,MAAM,eAAe,GAAG,QAAQ,IAAI,UAAU,IAAI,IAAI,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChG,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CACV,WAAW,EACX,QAAQ,EACR,GAAG,EACH,CAAC,EACD,CAAC,EACD,UAAU,EACV,CAAC,EACD,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,SAAS,cAAc,CACrB,IAAY,EACZ,UAAkB,EAClB,QAAiB,EACjB,QAAyC;IAEzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACzD,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,KAAa,EACb,OAA6C;IAE7C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,YAAY,IAAI,KAAK;QAAE,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,QAAQ,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;IAClF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC;IAEpF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,SAAS,GAAG,eAAe,GAAG,YAAY,EAAE,CAAC;QACtD,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,CAAC,CAAC;IAC3C,CAAC;SAAM,IAAI,SAAS,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,EAAE,CAAC;QACtE,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,SAAS,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,CAAC;QAChF,MAAM,GAAG,QAAQ,GAAG,CAAC,GAAG,YAAY,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,oBAAoB,CAAC,GAA6B;IACzD,OAAO,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE;WAC7B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;WAC5B,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAsB;QAC9B,YAAY;QACZ,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;KACxC,CAAC;IACF,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEjC,IAAI,gBAAgB,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* const cpState = createCommandPaletteState(items);
|
|
10
10
|
*
|
|
11
11
|
* // In TEA view:
|
|
12
|
-
* const output =
|
|
12
|
+
* const output = commandPaletteSurface(model.cpState, { width: 60 });
|
|
13
13
|
*
|
|
14
14
|
* // In TEA update:
|
|
15
15
|
* case 'filter':
|
|
@@ -118,8 +118,10 @@ export declare function cpPageUp(state: CommandPaletteState): CommandPaletteStat
|
|
|
118
118
|
*/
|
|
119
119
|
export declare function cpSelectedItem(state: CommandPaletteState): CommandPaletteItem | undefined;
|
|
120
120
|
/**
|
|
121
|
-
* Render the command palette
|
|
122
|
-
*
|
|
121
|
+
* Render the command palette to a plain string boundary.
|
|
122
|
+
*
|
|
123
|
+
* Prefer {@link commandPaletteSurface} for in-app TUI rendering so the
|
|
124
|
+
* palette stays on the Surface path end-to-end.
|
|
123
125
|
*
|
|
124
126
|
* Layout:
|
|
125
127
|
* - Line 1: `> {query}` search input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAS7D,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,wCAAwC;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,kEAAkE;AAClE,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAMD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,kBAAkB,EAAE,EACpC,MAAM,SAAK,GACV,mBAAmB,CAWrB;AAyBD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAkBvF;AAsBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAI3E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAI3E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAK1E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,SAAS,CAEzF;AAMD
|
|
1
|
+
{"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"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"}
|
package/dist/command-palette.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* const cpState = createCommandPaletteState(items);
|
|
10
10
|
*
|
|
11
11
|
* // In TEA view:
|
|
12
|
-
* const output =
|
|
12
|
+
* const output = commandPaletteSurface(model.cpState, { width: 60 });
|
|
13
13
|
*
|
|
14
14
|
* // In TEA update:
|
|
15
15
|
* case 'filter':
|
|
@@ -181,8 +181,10 @@ export function cpSelectedItem(state) {
|
|
|
181
181
|
// Render
|
|
182
182
|
// ---------------------------------------------------------------------------
|
|
183
183
|
/**
|
|
184
|
-
* Render the command palette
|
|
185
|
-
*
|
|
184
|
+
* Render the command palette to a plain string boundary.
|
|
185
|
+
*
|
|
186
|
+
* Prefer {@link commandPaletteSurface} for in-app TUI rendering so the
|
|
187
|
+
* palette stays on the Surface path end-to-end.
|
|
186
188
|
*
|
|
187
189
|
* Layout:
|
|
188
190
|
* - Line 1: `> {query}` search input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"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"}
|
package/dist/css/text-style.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { type BijouContext, type Surface } from '@flyingrobots/bijou';
|
|
|
2
2
|
export interface StyledTextToken {
|
|
3
3
|
hex?: string;
|
|
4
4
|
bg?: string;
|
|
5
|
+
fgRGB?: readonly [number, number, number];
|
|
6
|
+
bgRGB?: readonly [number, number, number];
|
|
5
7
|
modifiers?: string[];
|
|
6
8
|
}
|
|
7
9
|
export interface BCSSIdentity {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-style.d.ts","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"text-style.d.ts","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGxH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACnC,MAAM,EAAE,UAAU,GACjB,MAAM,EAAE,GAAG,SAAS,CAoCtB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,eAAe,CAWjB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,MAAM,CAkBR;AA8DD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAUT"}
|
package/dist/css/text-style.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSurface, segmentGraphemes } from '@flyingrobots/bijou';
|
|
1
|
+
import { createSurface, isPackedSurface, segmentGraphemes } from '@flyingrobots/bijou';
|
|
2
2
|
import { parseHex, encodeModifiers } from '@flyingrobots/bijou/perf';
|
|
3
3
|
export function mergeBCSSModifiers(base, styles) {
|
|
4
4
|
const modifiers = new Set(base ?? []);
|
|
@@ -38,9 +38,13 @@ export function mergeBCSSModifiers(base, styles) {
|
|
|
38
38
|
}
|
|
39
39
|
export function resolveBCSSTextToken(ctx, identity, base = {}) {
|
|
40
40
|
const styles = ctx.resolveBCSS(identity);
|
|
41
|
+
const hex = styles['color'] ?? base.hex;
|
|
42
|
+
const bg = styles['background'] ?? base.bg;
|
|
41
43
|
return {
|
|
42
|
-
hex
|
|
43
|
-
bg
|
|
44
|
+
hex,
|
|
45
|
+
bg,
|
|
46
|
+
fgRGB: styles['color'] != null ? (hex ? parseHex(hex) : undefined) : base.fgRGB,
|
|
47
|
+
bgRGB: styles['background'] != null ? (bg ? parseHex(bg) : undefined) : base.bgRGB,
|
|
44
48
|
modifiers: mergeBCSSModifiers(base.modifiers, styles),
|
|
45
49
|
};
|
|
46
50
|
}
|
|
@@ -48,9 +52,13 @@ export function styleTextWithBCSS(text, ctx, identity, base = {}) {
|
|
|
48
52
|
if (!ctx)
|
|
49
53
|
return text;
|
|
50
54
|
const styles = ctx.resolveBCSS(identity);
|
|
55
|
+
const hex = styles['color'] ?? base.hex;
|
|
56
|
+
const bg = styles['background'] ?? base.bg;
|
|
51
57
|
const token = {
|
|
52
|
-
hex
|
|
53
|
-
bg
|
|
58
|
+
hex,
|
|
59
|
+
bg,
|
|
60
|
+
fgRGB: styles['color'] != null ? (hex ? parseHex(hex) : undefined) : base.fgRGB,
|
|
61
|
+
bgRGB: styles['background'] != null ? (bg ? parseHex(bg) : undefined) : base.bgRGB,
|
|
54
62
|
modifiers: mergeBCSSModifiers(base.modifiers, styles),
|
|
55
63
|
};
|
|
56
64
|
if (token.hex == null && token.bg == null && (token.modifiers == null || token.modifiers.length === 0)) {
|
|
@@ -81,15 +89,17 @@ function fillStyledText(surface, text, ctx, identity, base) {
|
|
|
81
89
|
char: ' ',
|
|
82
90
|
fg: token.hex,
|
|
83
91
|
bg: token.bg,
|
|
92
|
+
fgRGB: token.fgRGB,
|
|
93
|
+
bgRGB: token.bgRGB,
|
|
84
94
|
modifiers: token.modifiers,
|
|
85
95
|
empty: false,
|
|
86
96
|
});
|
|
87
97
|
const graphemes = segmentGraphemes(text);
|
|
88
|
-
const packed =
|
|
89
|
-
const fg = packed
|
|
98
|
+
const packed = isPackedSurface(surface);
|
|
99
|
+
const fg = packed ? (token.fgRGB ?? (token.hex ? parseHex(token.hex) : undefined)) : undefined;
|
|
90
100
|
if (fg) {
|
|
91
101
|
const [fR, fG, fB] = fg;
|
|
92
|
-
const bg = token.bg ? parseHex(token.bg) : undefined;
|
|
102
|
+
const bg = token.bgRGB ?? (token.bg ? parseHex(token.bg) : undefined);
|
|
93
103
|
let bR = -1, bG = 0, bB = 0;
|
|
94
104
|
if (bg) {
|
|
95
105
|
bR = bg[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-style.js","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAmC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"text-style.js","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAmC,MAAM,qBAAqB,CAAC;AACxH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAkBrE,MAAM,UAAU,kBAAkB,CAChC,IAAmC,EACnC,MAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/D,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAClG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnE,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9B,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACpC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAiB,EACjB,QAAsB,EACtB,OAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;IAC3C,OAAO;QACL,GAAG;QACH,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAC/E,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAClF,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,GAA6B,EAC7B,QAAsB,EACtB,OAAwB,EAAE;IAE1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAoB;QAC7B,GAAG;QACH,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAC/E,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAClF,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;KACtD,CAAC;IAEF,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACvG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,OAAgB,EAChB,IAAY,EACZ,GAA6B,EAC7B,QAAsB,EACtB,IAAqB;IAErB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO;IAE5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,oEAAoE;QACpE,yCAAyC;QACzC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,KAAK,CAAC,GAAG;QACb,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,EAAE,CAAC;YAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9D,OAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE;gBACnB,EAAE,EAAE,KAAK,CAAC,GAAG;gBACb,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,IAAY,EACZ,KAAa,EACb,GAA6B,EAC7B,QAAsB,EACtB,OAAwB,EAAE;IAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA4B,EAC5B,IAAY,EACZ,KAAa,EACb,GAA6B,EAC7B,QAAsB,EACtB,OAAwB,EAAE;IAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,sDAAsD;IACtD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO,+BAA+B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type PerfOverlayOptions, type PerfOverlayStats, type Surface } from '@flyingrobots/bijou';
|
|
2
|
+
export type DebugOverlayAnchor = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
3
|
+
export interface DebugOverlayOptions extends PerfOverlayOptions {
|
|
4
|
+
/** Corner anchor for the perf overlay. Defaults to `top-right`. */
|
|
5
|
+
readonly anchor?: DebugOverlayAnchor;
|
|
6
|
+
/** Margin from the chosen screen edges. Defaults to `1`. */
|
|
7
|
+
readonly margin?: number;
|
|
8
|
+
/** Dim the background surface before compositing the overlay. Defaults to `false`. */
|
|
9
|
+
readonly dimBackground?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Composite a perf overlay onto an existing surface.
|
|
13
|
+
*
|
|
14
|
+
* This is the TUI convenience wrapper around `perfOverlaySurface()`: callers
|
|
15
|
+
* provide the background surface plus current perf stats, and the helper
|
|
16
|
+
* anchors the overlay into a corner without requiring shell-specific plumbing.
|
|
17
|
+
*/
|
|
18
|
+
export declare function debugOverlay(background: Surface, stats: PerfOverlayStats, options?: DebugOverlayOptions): Surface;
|
|
19
|
+
//# sourceMappingURL=debug-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-overlay.d.ts","sourceRoot":"","sources":["../src/debug-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAE3F,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAMD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAkBT"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { perfOverlaySurface, } from '@flyingrobots/bijou';
|
|
2
|
+
import { compositeSurface } from './overlay.js';
|
|
3
|
+
function sanitizeOverlayMargin(value) {
|
|
4
|
+
return Math.max(0, Math.floor(value ?? 1));
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Composite a perf overlay onto an existing surface.
|
|
8
|
+
*
|
|
9
|
+
* This is the TUI convenience wrapper around `perfOverlaySurface()`: callers
|
|
10
|
+
* provide the background surface plus current perf stats, and the helper
|
|
11
|
+
* anchors the overlay into a corner without requiring shell-specific plumbing.
|
|
12
|
+
*/
|
|
13
|
+
export function debugOverlay(background, stats, options = {}) {
|
|
14
|
+
const { anchor = 'top-right', margin, dimBackground = false, ...perfOptions } = options;
|
|
15
|
+
const overlay = perfOverlaySurface(stats, perfOptions);
|
|
16
|
+
const safeMargin = sanitizeOverlayMargin(margin);
|
|
17
|
+
const row = anchor.startsWith('bottom')
|
|
18
|
+
? Math.max(0, background.height - overlay.height - safeMargin)
|
|
19
|
+
: safeMargin;
|
|
20
|
+
const col = anchor.endsWith('right')
|
|
21
|
+
? Math.max(0, background.width - overlay.width - safeMargin)
|
|
22
|
+
: safeMargin;
|
|
23
|
+
return compositeSurface(background, [{ content: '', row, col, surface: overlay }], { dim: dimBackground });
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=debug-overlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-overlay.js","sourceRoot":"","sources":["../src/debug-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAahD,SAAS,qBAAqB,CAAC,KAAyB;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAmB,EACnB,KAAuB,EACvB,UAA+B,EAAE;IAEjC,MAAM,EACJ,MAAM,GAAG,WAAW,EACpB,MAAM,EACN,aAAa,GAAG,KAAK,EACrB,GAAG,WAAW,EACf,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;QAC9D,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5D,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;AAC7G,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-language.d.ts","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,WAAW;IACtB,gDAAgD;;IAEhD,kEAAkE;;IAElE,qDAAqD;;IAErD,+CAA+C;;IAE/C,gDAAgD;;IAEhD,2DAA2D;;CAEnD,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"design-language.d.ts","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,WAAW;IACtB,gDAAgD;;IAEhD,kEAAkE;;IAElE,qDAAqD;;IAErD,+CAA+C;;IAE/C,gDAAgD;;IAEhD,2DAA2D;;CAEnD,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAM1C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,CASR"}
|
package/dist/design-language.js
CHANGED
|
@@ -25,16 +25,14 @@ export const COMPACT_VIEWPORT_WIDTH = 52;
|
|
|
25
25
|
/** Height below which the viewport should be treated as compact. */
|
|
26
26
|
export const COMPACT_VIEWPORT_HEIGHT = 16;
|
|
27
27
|
function normalizeNonNegativeInt(value, fallback) {
|
|
28
|
-
|
|
29
|
-
return fallback;
|
|
30
|
-
return Math.max(0, Math.floor(value));
|
|
28
|
+
return sanitizeNonNegativeInt(value, fallback);
|
|
31
29
|
}
|
|
32
30
|
/**
|
|
33
31
|
* Decide whether a viewport should use compact overlay/layout defaults.
|
|
34
32
|
*/
|
|
35
33
|
export function isCompactViewport(width, height) {
|
|
36
|
-
return
|
|
37
|
-
||
|
|
34
|
+
return sanitizeNonNegativeInt(width, 0) < COMPACT_VIEWPORT_WIDTH
|
|
35
|
+
|| sanitizeNonNegativeInt(height, 0) < COMPACT_VIEWPORT_HEIGHT;
|
|
38
36
|
}
|
|
39
37
|
/**
|
|
40
38
|
* Resolve the default edge inset for overlays and overlay-like UI.
|
|
@@ -67,4 +65,5 @@ export function clampCenteredPosition(totalSize, itemSize, preferredInset) {
|
|
|
67
65
|
}
|
|
68
66
|
return Math.max(0, Math.min(max, centered));
|
|
69
67
|
}
|
|
68
|
+
import { sanitizeNonNegativeInt } from '@flyingrobots/bijou';
|
|
70
69
|
//# sourceMappingURL=design-language.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-language.js","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,CAAC;IACP,kEAAkE;IAClE,MAAM,EAAE,CAAC;IACT,qDAAqD;IACrD,SAAS,EAAE,CAAC;IACZ,+CAA+C;IAC/C,aAAa,EAAE,CAAC;IAChB,gDAAgD;IAChD,oBAAoB,EAAE,CAAC;IACvB,2DAA2D;IAC3D,eAAe,EAAE,CAAC;CACV,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,SAAS,uBAAuB,CAAC,KAAyB,EAAE,QAAgB;IAC1E,
|
|
1
|
+
{"version":3,"file":"design-language.js","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,CAAC;IACP,kEAAkE;IAClE,MAAM,EAAE,CAAC;IACT,qDAAqD;IACrD,SAAS,EAAE,CAAC;IACZ,+CAA+C;IAC/C,aAAa,EAAE,CAAC;IAChB,gDAAgD;IAChD,oBAAoB,EAAE,CAAC;IACvB,2DAA2D;IAC3D,eAAe,EAAE,CAAC;CACV,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,SAAS,uBAAuB,CAAC,KAAyB,EAAE,QAAgB;IAC1E,OAAO,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAc;IAC7D,OAAO,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,sBAAsB;WAC3D,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,uBAAuB,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,MAAc,EACd,MAAe;IAEf,OAAO,uBAAuB,CAC5B,MAAM,EACN,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9B,CAAC,CAAC,WAAW,CAAC,oBAAoB;QAClC,CAAC,CAAC,WAAW,CAAC,aAAa,CAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,QAAgB,EAChB,cAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IAE9C,IAAI,GAAG,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9C,CAAC;AACD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/driver.d.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
import type { App, RunOptions, MouseMsg } from './types.js';
|
|
19
|
+
import { type BusMsg } from './eventbus.js';
|
|
19
20
|
import { type Surface } from '@flyingrobots/bijou';
|
|
20
21
|
/** A single step in a scripted interaction sequence. */
|
|
21
22
|
export type ScriptStep<M = never> = {
|
|
@@ -69,6 +70,107 @@ export interface RunScriptResult<Model> {
|
|
|
69
70
|
/** Total elapsed time in milliseconds. */
|
|
70
71
|
elapsed: number;
|
|
71
72
|
}
|
|
73
|
+
/** Options for {@link testRuntime}. */
|
|
74
|
+
export interface TestRuntimeOptions extends RunScriptOptions {
|
|
75
|
+
}
|
|
76
|
+
/** Final outcome recorded for a command observed by {@link testRuntime}. */
|
|
77
|
+
export type TestRuntimeCommandResolution = 'pending' | 'message' | 'quit' | 'cleanup' | 'void' | 'rejected';
|
|
78
|
+
/**
|
|
79
|
+
* Recorded command behavior captured by a {@link TestHarness}.
|
|
80
|
+
*
|
|
81
|
+
* `emitted` contains messages pushed through the command's `emit()` callback,
|
|
82
|
+
* while `result` records the command's final return value when it settles.
|
|
83
|
+
*/
|
|
84
|
+
export interface TestRuntimeCommandRecord<M> {
|
|
85
|
+
/** Stable id assigned in runtime execution order. */
|
|
86
|
+
readonly id: number;
|
|
87
|
+
/** Whether the command originated from `init()` or an `update()` turn. */
|
|
88
|
+
readonly source: 'init' | 'update';
|
|
89
|
+
/** Index into {@link TestHarness.messages} for update-triggered commands. */
|
|
90
|
+
readonly triggerIndex: number | null;
|
|
91
|
+
/** Messages emitted incrementally through `emit(msg)`. */
|
|
92
|
+
readonly emitted: readonly M[];
|
|
93
|
+
/** How the command ultimately settled. */
|
|
94
|
+
readonly resolution: TestRuntimeCommandResolution;
|
|
95
|
+
/** Final returned value when the command settled with a value or error. */
|
|
96
|
+
readonly result?: M | unknown;
|
|
97
|
+
/** Whether runtime teardown disposed the command's cleanup handle. */
|
|
98
|
+
readonly cleanedUp: boolean;
|
|
99
|
+
/** Whether the command has finished executing. */
|
|
100
|
+
readonly settled: boolean;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Render/model checkpoint captured by a {@link TestHarness}.
|
|
104
|
+
*
|
|
105
|
+
* The initial snapshot is recorded after `init()` renders. Later snapshots are
|
|
106
|
+
* recorded after each handled message.
|
|
107
|
+
*/
|
|
108
|
+
export interface TestRuntimeSnapshot<Model, M> {
|
|
109
|
+
/** Zero-based snapshot index. */
|
|
110
|
+
readonly index: number;
|
|
111
|
+
/** Whether this frame came from initial render or an update turn. */
|
|
112
|
+
readonly cause: 'init' | 'update';
|
|
113
|
+
/** Message that triggered the update render, when applicable. */
|
|
114
|
+
readonly message?: BusMsg<M>;
|
|
115
|
+
/** Model value visible to the view at this snapshot. */
|
|
116
|
+
readonly model: Model;
|
|
117
|
+
/** Normalized rendered frame. */
|
|
118
|
+
readonly frame: Surface;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Interactive test harness for a TEA runtime.
|
|
122
|
+
*
|
|
123
|
+
* Provides direct assertions on snapshots, handled messages, command
|
|
124
|
+
* resolution, and cleanup disposal without reaching into `EventBus` internals.
|
|
125
|
+
*/
|
|
126
|
+
export interface TestHarness<Model, M> {
|
|
127
|
+
/** Latest model state. */
|
|
128
|
+
readonly model: Model;
|
|
129
|
+
/** Latest rendered frame. */
|
|
130
|
+
readonly frame: Surface;
|
|
131
|
+
/** All rendered frames in order, including the initial render. */
|
|
132
|
+
readonly frames: readonly Surface[];
|
|
133
|
+
/** Recorded render/model checkpoints. */
|
|
134
|
+
readonly snapshots: readonly TestRuntimeSnapshot<Model, M>[];
|
|
135
|
+
/** All handled runtime messages in delivery order. */
|
|
136
|
+
readonly messages: readonly BusMsg<M>[];
|
|
137
|
+
/** Custom messages emitted or returned by commands. */
|
|
138
|
+
readonly emittedMessages: readonly M[];
|
|
139
|
+
/** Recorded command lifecycle outcomes. */
|
|
140
|
+
readonly commands: readonly TestRuntimeCommandRecord<M>[];
|
|
141
|
+
/** Milliseconds elapsed on the active runtime clock. */
|
|
142
|
+
readonly elapsed: number;
|
|
143
|
+
/** Whether the harness is still accepting steps. */
|
|
144
|
+
readonly running: boolean;
|
|
145
|
+
/** Return the latest snapshot. */
|
|
146
|
+
snapshot(): TestRuntimeSnapshot<Model, M>;
|
|
147
|
+
/** Wait until in-flight commands settle. */
|
|
148
|
+
settle(): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
149
|
+
/** Feed a single scripted step through the runtime. */
|
|
150
|
+
step(step: ScriptStep<M>): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
151
|
+
/** Feed multiple scripted steps through the runtime. */
|
|
152
|
+
run(steps: ScriptStep<M>[]): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
153
|
+
/** Emit a key step. */
|
|
154
|
+
press(key: string, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
155
|
+
/** Emit a resize step. */
|
|
156
|
+
resize(columns: number, rows: number, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
157
|
+
/** Emit a pulse step. */
|
|
158
|
+
pulse(dt: number, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
159
|
+
/** Emit a mouse step. */
|
|
160
|
+
mouse(message: MouseMsg, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
161
|
+
/** Emit a custom application message directly. */
|
|
162
|
+
emit(msg: M, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
|
|
163
|
+
/** Stop the runtime and dispose retained command cleanups. */
|
|
164
|
+
teardown(): Promise<void>;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Start a TEA app inside an inspectable test harness.
|
|
168
|
+
*
|
|
169
|
+
* The harness renders the initial frame, settles init commands, and then lets
|
|
170
|
+
* callers feed steps one at a time while asserting against snapshots, handled
|
|
171
|
+
* messages, command outcomes, and cleanup disposal.
|
|
172
|
+
*/
|
|
173
|
+
export declare function testRuntime<Model, M>(app: App<Model, M>, options?: TestRuntimeOptions): Promise<TestHarness<Model, M>>;
|
|
72
174
|
/**
|
|
73
175
|
* Run a TEA app with a scripted key sequence.
|
|
74
176
|
*
|
package/dist/driver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAa,QAAQ,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"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"}
|