@flyingrobots/bijou-tui 5.0.0 → 7.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 +152 -1
- package/dist/animate.d.ts +4 -0
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +47 -20
- package/dist/animate.js.map +1 -1
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +53 -0
- 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 +2 -0
- package/dist/app-frame-i18n.js.map +1 -1
- package/dist/app-frame-palette.d.ts.map +1 -1
- package/dist/app-frame-palette.js +36 -16
- package/dist/app-frame-palette.js.map +1 -1
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +14 -5
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +22 -0
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts +3 -1
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +5 -0
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame.d.ts +5 -3
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +101 -7
- package/dist/app-frame.js.map +1 -1
- package/dist/canvas.d.ts +11 -3
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +122 -9
- package/dist/canvas.js.map +1 -1
- package/dist/cell-glyph-fit.d.ts +20 -0
- package/dist/cell-glyph-fit.d.ts.map +1 -0
- package/dist/cell-glyph-fit.js +82 -0
- package/dist/cell-glyph-fit.js.map +1 -0
- package/dist/command-palette.d.ts +2 -0
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +36 -19
- package/dist/command-palette.js.map +1 -1
- package/dist/eventbus.d.ts +20 -0
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +47 -0
- package/dist/eventbus.js.map +1 -1
- package/dist/focus-area.d.ts +6 -5
- package/dist/focus-area.d.ts.map +1 -1
- package/dist/focus-area.js +6 -5
- package/dist/focus-area.js.map +1 -1
- package/dist/focus-map.d.ts +40 -0
- package/dist/focus-map.d.ts.map +1 -0
- package/dist/focus-map.js +133 -0
- package/dist/focus-map.js.map +1 -0
- package/dist/index.d.ts +20 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/input-map.d.ts +68 -0
- package/dist/input-map.d.ts.map +1 -0
- package/dist/input-map.js +162 -0
- package/dist/input-map.js.map +1 -0
- package/dist/input-routing-inspector.d.ts +24 -0
- package/dist/input-routing-inspector.d.ts.map +1 -0
- package/dist/input-routing-inspector.js +76 -0
- package/dist/input-routing-inspector.js.map +1 -0
- package/dist/keybindings.d.ts.map +1 -1
- package/dist/keybindings.js +3 -0
- package/dist/keybindings.js.map +1 -1
- package/dist/layout-inspector.d.ts +31 -0
- package/dist/layout-inspector.d.ts.map +1 -0
- package/dist/layout-inspector.js +133 -0
- package/dist/layout-inspector.js.map +1 -0
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +38 -5
- package/dist/notification.js.map +1 -1
- package/dist/pipeline/middleware/motion.d.ts.map +1 -1
- package/dist/pipeline/middleware/motion.js +2 -1
- package/dist/pipeline/middleware/motion.js.map +1 -1
- package/dist/pipeline/middleware/paint.d.ts.map +1 -1
- package/dist/pipeline/middleware/paint.js +2 -1
- package/dist/pipeline/middleware/paint.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +8 -1
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +43 -7
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/raytrace.d.ts +59 -0
- package/dist/raytrace.d.ts.map +1 -0
- package/dist/raytrace.js +121 -0
- package/dist/raytrace.js.map +1 -0
- package/dist/runtime-binding.d.ts +59 -0
- package/dist/runtime-binding.d.ts.map +1 -0
- package/dist/runtime-binding.js +271 -0
- package/dist/runtime-binding.js.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +41 -3
- package/dist/runtime.js.map +1 -1
- package/dist/surface-budget.d.ts +27 -0
- package/dist/surface-budget.d.ts.map +1 -0
- package/dist/surface-budget.js +61 -0
- package/dist/surface-budget.js.map +1 -0
- package/dist/surface-diff.d.ts +36 -0
- package/dist/surface-diff.d.ts.map +1 -0
- package/dist/surface-diff.js +202 -0
- package/dist/surface-diff.js.map +1 -0
- package/dist/surface-layout.d.ts +11 -0
- package/dist/surface-layout.d.ts.map +1 -1
- package/dist/surface-layout.js +16 -1
- package/dist/surface-layout.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
package/dist/canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../src/canvas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../src/canvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fit an output glyph to sampled 2x4 cell coverage.
|
|
3
|
+
*
|
|
4
|
+
* The samples use row-major order: row 0 left/right, row 1 left/right,
|
|
5
|
+
* row 2 left/right, row 3 left/right.
|
|
6
|
+
*/
|
|
7
|
+
export type CellGlyphFitMode = 'unicode' | 'ascii';
|
|
8
|
+
export interface CellGlyphCandidate {
|
|
9
|
+
readonly char: string;
|
|
10
|
+
readonly coverage: readonly number[];
|
|
11
|
+
}
|
|
12
|
+
export interface CellGlyphFitOptions {
|
|
13
|
+
readonly mode?: CellGlyphFitMode;
|
|
14
|
+
readonly candidates?: readonly CellGlyphCandidate[];
|
|
15
|
+
readonly fallback?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const CELL_GLYPH_ASCII_DENSITY_RAMP = " .:-=+*#%@";
|
|
18
|
+
export declare const CELL_GLYPH_UNICODE_CANDIDATES: readonly CellGlyphCandidate[];
|
|
19
|
+
export declare function fitCellGlyph(samples: readonly number[], options?: CellGlyphFitOptions): string;
|
|
20
|
+
//# sourceMappingURL=cell-glyph-fit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-glyph-fit.d.ts","sourceRoot":"","sources":["../src/cell-glyph-fit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAKD,eAAO,MAAM,6BAA6B,eAAe,CAAC;AAE1D,eAAO,MAAM,6BAA6B,EAAE,SAAS,kBAAkB,EAkBtE,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAgBlG"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fit an output glyph to sampled 2x4 cell coverage.
|
|
3
|
+
*
|
|
4
|
+
* The samples use row-major order: row 0 left/right, row 1 left/right,
|
|
5
|
+
* row 2 left/right, row 3 left/right.
|
|
6
|
+
*/
|
|
7
|
+
const CELL_GLYPH_SAMPLE_COUNT = 8;
|
|
8
|
+
const DEFAULT_FALLBACK_GLYPH = ' ';
|
|
9
|
+
export const CELL_GLYPH_ASCII_DENSITY_RAMP = ' .:-=+*#%@';
|
|
10
|
+
export const CELL_GLYPH_UNICODE_CANDIDATES = [
|
|
11
|
+
{ char: ' ', coverage: mask(0, 0, 0, 0, 0, 0, 0, 0) },
|
|
12
|
+
{ char: '░', coverage: mask(0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25) },
|
|
13
|
+
{ char: '▒', coverage: mask(0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5) },
|
|
14
|
+
{ char: '▓', coverage: mask(0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75, 0.75) },
|
|
15
|
+
{ char: '█', coverage: mask(1, 1, 1, 1, 1, 1, 1, 1) },
|
|
16
|
+
{ char: '▀', coverage: mask(1, 1, 1, 1, 0, 0, 0, 0) },
|
|
17
|
+
{ char: '▄', coverage: mask(0, 0, 0, 0, 1, 1, 1, 1) },
|
|
18
|
+
{ char: '▌', coverage: mask(1, 0, 1, 0, 1, 0, 1, 0) },
|
|
19
|
+
{ char: '▐', coverage: mask(0, 1, 0, 1, 0, 1, 0, 1) },
|
|
20
|
+
{ char: '▘', coverage: mask(1, 0, 1, 0, 0, 0, 0, 0) },
|
|
21
|
+
{ char: '▝', coverage: mask(0, 1, 0, 1, 0, 0, 0, 0) },
|
|
22
|
+
{ char: '▖', coverage: mask(0, 0, 0, 0, 1, 0, 1, 0) },
|
|
23
|
+
{ char: '▗', coverage: mask(0, 0, 0, 0, 0, 1, 0, 1) },
|
|
24
|
+
{ char: '─', coverage: mask(0, 0, 1, 1, 1, 1, 0, 0) },
|
|
25
|
+
{ char: '│', coverage: mask(0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5) },
|
|
26
|
+
{ char: '╱', coverage: mask(0, 1, 0, 1, 1, 0, 1, 0) },
|
|
27
|
+
{ char: '╲', coverage: mask(1, 0, 1, 0, 0, 1, 0, 1) },
|
|
28
|
+
];
|
|
29
|
+
export function fitCellGlyph(samples, options = {}) {
|
|
30
|
+
const normalizedSamples = normalizeSamples(samples);
|
|
31
|
+
const candidates = options.candidates;
|
|
32
|
+
if (candidates !== undefined) {
|
|
33
|
+
return fitCandidateGlyph(normalizedSamples, candidates, options.fallback ?? DEFAULT_FALLBACK_GLYPH);
|
|
34
|
+
}
|
|
35
|
+
if (options.mode === 'ascii') {
|
|
36
|
+
return fitAsciiDensityGlyph(normalizedSamples);
|
|
37
|
+
}
|
|
38
|
+
return fitCandidateGlyph(normalizedSamples, CELL_GLYPH_UNICODE_CANDIDATES, options.fallback ?? DEFAULT_FALLBACK_GLYPH);
|
|
39
|
+
}
|
|
40
|
+
function fitCandidateGlyph(samples, candidates, fallback) {
|
|
41
|
+
let bestCandidate;
|
|
42
|
+
let bestScore = Number.POSITIVE_INFINITY;
|
|
43
|
+
for (const candidate of candidates) {
|
|
44
|
+
const score = meanSquaredCoverageError(samples, candidate.coverage);
|
|
45
|
+
if (score < bestScore) {
|
|
46
|
+
bestCandidate = candidate;
|
|
47
|
+
bestScore = score;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return bestCandidate?.char ?? fallback;
|
|
51
|
+
}
|
|
52
|
+
function fitAsciiDensityGlyph(samples) {
|
|
53
|
+
const density = samples.reduce((sum, sample) => sum + sample, 0) / CELL_GLYPH_SAMPLE_COUNT;
|
|
54
|
+
const rampIndex = Math.round(density * (CELL_GLYPH_ASCII_DENSITY_RAMP.length - 1));
|
|
55
|
+
return CELL_GLYPH_ASCII_DENSITY_RAMP[rampIndex] ?? DEFAULT_FALLBACK_GLYPH;
|
|
56
|
+
}
|
|
57
|
+
function meanSquaredCoverageError(samples, candidate) {
|
|
58
|
+
let total = 0;
|
|
59
|
+
for (let index = 0; index < CELL_GLYPH_SAMPLE_COUNT; index++) {
|
|
60
|
+
const delta = samples[index] - clampUnit(candidate[index] ?? 0);
|
|
61
|
+
total += delta * delta;
|
|
62
|
+
}
|
|
63
|
+
return total / CELL_GLYPH_SAMPLE_COUNT;
|
|
64
|
+
}
|
|
65
|
+
function normalizeSamples(samples) {
|
|
66
|
+
const normalized = [];
|
|
67
|
+
for (let index = 0; index < CELL_GLYPH_SAMPLE_COUNT; index++) {
|
|
68
|
+
normalized.push(clampUnit(samples[index] ?? 0));
|
|
69
|
+
}
|
|
70
|
+
return normalized;
|
|
71
|
+
}
|
|
72
|
+
function clampUnit(value) {
|
|
73
|
+
if (value <= 0)
|
|
74
|
+
return 0;
|
|
75
|
+
if (value >= 1)
|
|
76
|
+
return 1;
|
|
77
|
+
return value;
|
|
78
|
+
}
|
|
79
|
+
function mask(...coverage) {
|
|
80
|
+
return coverage;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=cell-glyph-fit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-glyph-fit.js","sourceRoot":"","sources":["../src/cell-glyph-fit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CAAC;AAE1D,MAAM,CAAC,MAAM,6BAA6B,GAAkC;IAC1E,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;IAC7E,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IACrE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;IAC7E,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IACrE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EA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"}
|
|
@@ -33,6 +33,8 @@ export interface CommandPaletteItem {
|
|
|
33
33
|
readonly category?: string;
|
|
34
34
|
/** Optional keyboard shortcut hint displayed at the end. */
|
|
35
35
|
readonly shortcut?: string;
|
|
36
|
+
/** Optional hidden text included in filtering but not rendered. */
|
|
37
|
+
readonly searchText?: string;
|
|
36
38
|
}
|
|
37
39
|
/** Immutable state for the command palette widget. */
|
|
38
40
|
export interface CommandPaletteState {
|
|
@@ -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;
|
|
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
|
@@ -50,27 +50,40 @@ export function createCommandPaletteState(items, height = 10) {
|
|
|
50
50
|
// Filtering
|
|
51
51
|
// ---------------------------------------------------------------------------
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
53
|
+
* Score an item field for ranked, case-insensitive substring matching.
|
|
54
54
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* @param item - Command palette item to test.
|
|
58
|
-
* @param query - Search query string.
|
|
59
|
-
* @returns True if any field contains the query.
|
|
55
|
+
* Earlier fields and stronger positions rank first; hidden search text still
|
|
56
|
+
* participates without being rendered.
|
|
60
57
|
*/
|
|
61
|
-
function
|
|
58
|
+
function fieldScore(value, query, baseScore) {
|
|
59
|
+
if (value == null)
|
|
60
|
+
return undefined;
|
|
61
|
+
const haystack = value.toLowerCase();
|
|
62
|
+
const index = haystack.indexOf(query);
|
|
63
|
+
if (index < 0)
|
|
64
|
+
return undefined;
|
|
65
|
+
if (haystack === query)
|
|
66
|
+
return baseScore;
|
|
67
|
+
if (index === 0)
|
|
68
|
+
return baseScore + 1;
|
|
69
|
+
if (index > 0 && /\W/.test(haystack[index - 1]))
|
|
70
|
+
return baseScore + 2;
|
|
71
|
+
return baseScore + 3 + Math.min(index, 100);
|
|
72
|
+
}
|
|
73
|
+
function queryScore(item, query) {
|
|
62
74
|
const q = query.toLowerCase();
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
75
|
+
return [
|
|
76
|
+
fieldScore(item.label, q, 0),
|
|
77
|
+
fieldScore(item.category, q, 20),
|
|
78
|
+
fieldScore(item.description, q, 40),
|
|
79
|
+
fieldScore(item.searchText, q, 60),
|
|
80
|
+
fieldScore(item.id, q, 80),
|
|
81
|
+
fieldScore(item.shortcut, q, 100),
|
|
82
|
+
].reduce((best, score) => {
|
|
83
|
+
if (score == null)
|
|
84
|
+
return best;
|
|
85
|
+
return best == null ? score : Math.min(best, score);
|
|
86
|
+
}, undefined);
|
|
74
87
|
}
|
|
75
88
|
/**
|
|
76
89
|
* Filter items by case-insensitive substring match. Resets focus to 0.
|
|
@@ -89,7 +102,11 @@ export function cpFilter(state, query) {
|
|
|
89
102
|
scrollY: 0,
|
|
90
103
|
};
|
|
91
104
|
}
|
|
92
|
-
const filtered = state.items
|
|
105
|
+
const filtered = state.items
|
|
106
|
+
.map((item, index) => ({ item, index, score: queryScore(item, query) }))
|
|
107
|
+
.filter((entry) => entry.score != null)
|
|
108
|
+
.sort((left, right) => left.score - right.score || left.index - right.index)
|
|
109
|
+
.map(entry => entry.item);
|
|
93
110
|
return {
|
|
94
111
|
...state,
|
|
95
112
|
query,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"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"}
|
package/dist/eventbus.d.ts
CHANGED
|
@@ -124,15 +124,35 @@ export interface EventBus<M> {
|
|
|
124
124
|
use(middleware: Middleware<M>): Disposable;
|
|
125
125
|
/** Resolve once all in-flight commands have settled. */
|
|
126
126
|
drain(): Promise<void>;
|
|
127
|
+
/** Read current command queue diagnostics. */
|
|
128
|
+
getCommandDiagnostics(): CommandQueueDiagnostics;
|
|
127
129
|
/** Disconnect all sources and remove all subscribers. */
|
|
128
130
|
dispose(): void;
|
|
129
131
|
}
|
|
132
|
+
/** Snapshot of command queue state for diagnostics and tests. */
|
|
133
|
+
export interface CommandQueueDiagnostics {
|
|
134
|
+
/** Commands currently running or waiting for their promise result. */
|
|
135
|
+
readonly pendingCommands: number;
|
|
136
|
+
/** Long-lived command cleanup handles currently retained by the bus. */
|
|
137
|
+
readonly activeCommandCleanups: number;
|
|
138
|
+
/** Pending-command count that triggers backpressure diagnostics. Zero disables diagnostics. */
|
|
139
|
+
readonly backpressureThreshold: number;
|
|
140
|
+
}
|
|
141
|
+
/** Payload emitted when command backpressure diagnostics trip. */
|
|
142
|
+
export interface CommandBackpressureInfo extends CommandQueueDiagnostics {
|
|
143
|
+
/** Runtime clock timestamp for deterministic reporting. */
|
|
144
|
+
readonly atMs: number;
|
|
145
|
+
}
|
|
130
146
|
/** Optional callbacks for {@link createEventBus}. */
|
|
131
147
|
export interface CreateEventBusOptions {
|
|
132
148
|
/** Called when a command promise rejects. */
|
|
133
149
|
onCommandRejected?: (error: unknown) => void;
|
|
150
|
+
/** Called when pending commands reach the configured backpressure threshold. */
|
|
151
|
+
onCommandBackpressure?: (info: CommandBackpressureInfo) => void;
|
|
134
152
|
/** Called to surface error messages (replaces direct `console.error` usage). */
|
|
135
153
|
onError?: (message: string, error: unknown) => void;
|
|
154
|
+
/** Pending command threshold for backpressure diagnostics. Defaults to 1000. Set to 0 to disable. */
|
|
155
|
+
commandBackpressureThreshold?: number;
|
|
136
156
|
/** Clock/scheduler override for deterministic command and pulse timing. */
|
|
137
157
|
clock?: ClockPort;
|
|
138
158
|
}
|
package/dist/eventbus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventbus.d.ts","sourceRoot":"","sources":["../src/eventbus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,GAAG,EAAwC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQnH;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB;;;;;;OAMG;IACH,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC;IAElD;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE3B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,UAAU,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE1B;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;IAExC;;;;;OAKG;IACH,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,2CAA2C;IAC3C,SAAS,IAAI,IAAI,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,UAAU,CAAC;IAEnD;;;;;;;OAOG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;IAE3C,wDAAwD;IACxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,yDAAyD;IACzD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,gFAAgF;IAChF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,4DAA4D;AAC5D,UAAU,UAAU;IAClB,0DAA0D;IAC1D,OAAO,IAAI,IAAI,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"eventbus.d.ts","sourceRoot":"","sources":["../src/eventbus.ts"],"names":[],"mappings":"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"}
|
package/dist/eventbus.js
CHANGED
|
@@ -33,6 +33,14 @@ function normalizeCmdCleanup(cleanup) {
|
|
|
33
33
|
}
|
|
34
34
|
return cleanup;
|
|
35
35
|
}
|
|
36
|
+
const DEFAULT_COMMAND_BACKPRESSURE_THRESHOLD = 1000;
|
|
37
|
+
function normalizeBackpressureThreshold(value) {
|
|
38
|
+
if (value == null)
|
|
39
|
+
return DEFAULT_COMMAND_BACKPRESSURE_THRESHOLD;
|
|
40
|
+
if (!Number.isFinite(value) || value <= 0)
|
|
41
|
+
return 0;
|
|
42
|
+
return Math.floor(value);
|
|
43
|
+
}
|
|
36
44
|
// ---------------------------------------------------------------------------
|
|
37
45
|
// Implementation
|
|
38
46
|
// ---------------------------------------------------------------------------
|
|
@@ -50,6 +58,7 @@ function normalizeCmdCleanup(cleanup) {
|
|
|
50
58
|
*/
|
|
51
59
|
export function createEventBus(busOptions) {
|
|
52
60
|
const clock = resolveClock(busOptions?.clock);
|
|
61
|
+
const backpressureThreshold = normalizeBackpressureThreshold(busOptions?.commandBackpressureThreshold);
|
|
53
62
|
const subscribers = new Set();
|
|
54
63
|
const quitHandlers = new Set();
|
|
55
64
|
const pulseHandlers = new Set();
|
|
@@ -59,6 +68,7 @@ export function createEventBus(busOptions) {
|
|
|
59
68
|
let disposed = false;
|
|
60
69
|
let pulseTimer = null;
|
|
61
70
|
let pendingCommands = 0;
|
|
71
|
+
let backpressureReported = false;
|
|
62
72
|
const idleResolvers = new Set();
|
|
63
73
|
/** Report an error without risking an unhandled rejection. */
|
|
64
74
|
function safeReport(message, error) {
|
|
@@ -108,6 +118,38 @@ export function createEventBus(busOptions) {
|
|
|
108
118
|
}
|
|
109
119
|
idleResolvers.clear();
|
|
110
120
|
}
|
|
121
|
+
function getCommandDiagnostics() {
|
|
122
|
+
return {
|
|
123
|
+
pendingCommands,
|
|
124
|
+
activeCommandCleanups: activeCommandCleanups.size,
|
|
125
|
+
backpressureThreshold,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function reportCommandBackpressureIfNeeded() {
|
|
129
|
+
if (backpressureThreshold === 0
|
|
130
|
+
|| pendingCommands < backpressureThreshold
|
|
131
|
+
|| backpressureReported) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
backpressureReported = true;
|
|
135
|
+
const info = {
|
|
136
|
+
...getCommandDiagnostics(),
|
|
137
|
+
atMs: clock.now(),
|
|
138
|
+
};
|
|
139
|
+
const message = `[EventBus] Command backpressure: ${pendingCommands} commands pending (threshold ${backpressureThreshold}).`;
|
|
140
|
+
try {
|
|
141
|
+
if (busOptions?.onCommandBackpressure != null) {
|
|
142
|
+
busOptions.onCommandBackpressure(info);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
safeReport(message, info);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
safeReport('[EventBus] onCommandBackpressure handler threw:', err);
|
|
150
|
+
safeReport(message, info);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
111
153
|
return {
|
|
112
154
|
on(handler) {
|
|
113
155
|
subscribers.add(handler);
|
|
@@ -164,6 +206,7 @@ export function createEventBus(busOptions) {
|
|
|
164
206
|
if (disposed)
|
|
165
207
|
return;
|
|
166
208
|
pendingCommands++;
|
|
209
|
+
reportCommandBackpressureIfNeeded();
|
|
167
210
|
const caps = {
|
|
168
211
|
onPulse: (h) => this.onPulse(h),
|
|
169
212
|
sleep: (ms) => sleep(clock, ms),
|
|
@@ -218,6 +261,9 @@ export function createEventBus(busOptions) {
|
|
|
218
261
|
}
|
|
219
262
|
}).finally(() => {
|
|
220
263
|
pendingCommands = Math.max(0, pendingCommands - 1);
|
|
264
|
+
if (pendingCommands < backpressureThreshold) {
|
|
265
|
+
backpressureReported = false;
|
|
266
|
+
}
|
|
221
267
|
if (!disposed) {
|
|
222
268
|
resolveIdleIfNeeded();
|
|
223
269
|
}
|
|
@@ -285,6 +331,7 @@ export function createEventBus(busOptions) {
|
|
|
285
331
|
idleResolvers.add(resolve);
|
|
286
332
|
});
|
|
287
333
|
},
|
|
334
|
+
getCommandDiagnostics,
|
|
288
335
|
dispose() {
|
|
289
336
|
disposed = true;
|
|
290
337
|
if (pulseTimer) {
|
package/dist/eventbus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventbus.js","sourceRoot":"","sources":["../src/eventbus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAkB,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"eventbus.js","sourceRoot":"","sources":["../src/eventbus.ts"],"names":[],"mappings":"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"}
|
package/dist/focus-area.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Focus area building block — a scrollable pane with a colored left gutter.
|
|
3
3
|
*
|
|
4
4
|
* Wraps `viewport()` and prepends a styled gutter character (`▎`) to each
|
|
5
|
-
* line indicating focus state:
|
|
5
|
+
* line indicating focus state: shell focus chrome when focused, muted when
|
|
6
|
+
* unfocused.
|
|
6
7
|
*
|
|
7
8
|
* Follows the building block pattern: immutable state + pure transformers +
|
|
8
9
|
* pure render + convenience keymap factory.
|
|
@@ -56,15 +57,15 @@ export interface FocusAreaOptions {
|
|
|
56
57
|
export interface FocusAreaRenderOptions {
|
|
57
58
|
/** Whether the pane is currently focused. Default: `true`. */
|
|
58
59
|
readonly focused?: boolean;
|
|
59
|
-
/** Token for the focused gutter. Default: `theme.
|
|
60
|
+
/** Token for the focused gutter. Default: `theme.ui.focusGutter`. */
|
|
60
61
|
readonly focusedGutterToken?: TokenValue;
|
|
61
62
|
/** Token for the unfocused gutter. Default: `theme.semantic.muted`. */
|
|
62
63
|
readonly unfocusedGutterToken?: TokenValue;
|
|
63
64
|
/** Show a scrollbar track on the right edge. Default: `true`. */
|
|
64
65
|
readonly showScrollbar?: boolean;
|
|
65
|
-
/** Token for the scrollbar track. Default: `theme.
|
|
66
|
+
/** Token for the scrollbar track. Default: `theme.ui.scrollTrack`. */
|
|
66
67
|
readonly scrollbarTrackToken?: TokenValue;
|
|
67
|
-
/** Token for the scrollbar thumb. Default: `theme.
|
|
68
|
+
/** Token for the scrollbar thumb. Default: `theme.ui.scrollThumb`. */
|
|
68
69
|
readonly scrollbarThumbToken?: TokenValue;
|
|
69
70
|
/** Optional BCSS id for the focus area. */
|
|
70
71
|
readonly id?: string;
|
|
@@ -165,7 +166,7 @@ export declare function focusAreaSetContent(state: FocusAreaState, content: stri
|
|
|
165
166
|
* Render the focus area — viewport content with a colored left gutter.
|
|
166
167
|
*
|
|
167
168
|
* The gutter character (`▎`) is styled based on focus state:
|
|
168
|
-
* - Focused: `focusedGutterToken` (default: `theme.
|
|
169
|
+
* - Focused: `focusedGutterToken` (default: `theme.ui.focusGutter`)
|
|
169
170
|
* - Unfocused: `unfocusedGutterToken` (default: `theme.semantic.muted`)
|
|
170
171
|
* - Static mode: unstyled gutter
|
|
171
172
|
* - Pipe / accessible mode: no gutter (full width to content)
|
package/dist/focus-area.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-area.d.ts","sourceRoot":"","sources":["../src/focus-area.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"focus-area.d.ts","sourceRoot":"","sources":["../src/focus-area.ts"],"names":[],"mappings":"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"}
|
package/dist/focus-area.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Focus area building block — a scrollable pane with a colored left gutter.
|
|
3
3
|
*
|
|
4
4
|
* Wraps `viewport()` and prepends a styled gutter character (`▎`) to each
|
|
5
|
-
* line indicating focus state:
|
|
5
|
+
* line indicating focus state: shell focus chrome when focused, muted when
|
|
6
|
+
* unfocused.
|
|
6
7
|
*
|
|
7
8
|
* Follows the building block pattern: immutable state + pure transformers +
|
|
8
9
|
* pure render + convenience keymap factory.
|
|
@@ -199,7 +200,7 @@ export function focusAreaSetContent(state, content) {
|
|
|
199
200
|
* Render the focus area — viewport content with a colored left gutter.
|
|
200
201
|
*
|
|
201
202
|
* The gutter character (`▎`) is styled based on focus state:
|
|
202
|
-
* - Focused: `focusedGutterToken` (default: `theme.
|
|
203
|
+
* - Focused: `focusedGutterToken` (default: `theme.ui.focusGutter`)
|
|
203
204
|
* - Unfocused: `unfocusedGutterToken` (default: `theme.semantic.muted`)
|
|
204
205
|
* - Static mode: unstyled gutter
|
|
205
206
|
* - Pipe / accessible mode: no gutter (full width to content)
|
|
@@ -310,7 +311,7 @@ function resolveGutter(focused, ctx, options) {
|
|
|
310
311
|
static: () => GUTTER_CHAR,
|
|
311
312
|
interactive: () => {
|
|
312
313
|
const baseToken = focused
|
|
313
|
-
? (options?.focusedGutterToken ?? ctx.
|
|
314
|
+
? (options?.focusedGutterToken ?? ctx.ui('focusGutter'))
|
|
314
315
|
: (options?.unfocusedGutterToken ?? ctx.semantic('muted'));
|
|
315
316
|
const token = resolveBCSSTextToken(ctx, {
|
|
316
317
|
type: 'FocusArea',
|
|
@@ -345,8 +346,8 @@ function resolveScrollbarCell(kind, ctx, options) {
|
|
|
345
346
|
return kind === 'thumb' ? SCROLLBAR_THUMB_CELL : SCROLLBAR_TRACK_CELL;
|
|
346
347
|
}
|
|
347
348
|
const baseToken = kind === 'thumb'
|
|
348
|
-
? (options?.scrollbarThumbToken ?? ctx.
|
|
349
|
-
: (options?.scrollbarTrackToken ?? ctx.
|
|
349
|
+
? (options?.scrollbarThumbToken ?? ctx.ui('scrollThumb'))
|
|
350
|
+
: (options?.scrollbarTrackToken ?? ctx.ui('scrollTrack'));
|
|
350
351
|
const baseChar = kind === 'thumb' ? SCROLLBAR_THUMB_CELL.char : SCROLLBAR_TRACK_CELL.char;
|
|
351
352
|
const key = `${kind}:${baseChar}:${JSON.stringify(baseToken)}:${options?.id ?? ''}:${(options?.classes ?? []).join(',')}`;
|
|
352
353
|
const cached = scrollbarCellCache.get(key);
|