@flyingrobots/bijou-tui 3.0.0 → 3.1.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/dist/app-frame-actions.d.ts +1 -5
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +19 -15
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +6 -1
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +9 -0
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame.d.ts +36 -1
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +136 -20
- package/dist/app-frame.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +11 -3
- package/dist/commands.js.map +1 -1
- package/dist/driver.d.ts +4 -5
- package/dist/driver.d.ts.map +1 -1
- package/dist/driver.js +15 -17
- package/dist/driver.js.map +1 -1
- package/dist/eventbus.d.ts +5 -0
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +44 -7
- package/dist/eventbus.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/notification.d.ts +73 -0
- package/dist/notification.d.ts.map +1 -0
- package/dist/notification.js +693 -0
- package/dist/notification.js.map +1 -0
- package/dist/overlay.d.ts +3 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +76 -59
- package/dist/runtime.js.map +1 -1
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/app-frame.js
CHANGED
|
@@ -4,20 +4,60 @@
|
|
|
4
4
|
* Provides tabs, pane focus/scroll isolation, shell key handling, help,
|
|
5
5
|
* panel-scoped overlay context, and optional frame-level command palette.
|
|
6
6
|
*/
|
|
7
|
-
import { createSurface, parseAnsiToSurface, resolveSafeCtx } from '@flyingrobots/bijou';
|
|
7
|
+
import { createSurface, parseAnsiToSurface, resolveSafeCtx, } from '@flyingrobots/bijou';
|
|
8
8
|
import { helpView } from './help.js';
|
|
9
9
|
import { isKeyMsg, isMouseMsg, isResizeMsg } from './types.js';
|
|
10
10
|
import { modal } from './overlay.js';
|
|
11
11
|
import { fitBlock } from './layout-utils.js';
|
|
12
12
|
import { commandPalette, commandPaletteKeyMap, } from './command-palette.js';
|
|
13
13
|
import { restoreLayoutState } from './layout-preset.js';
|
|
14
|
-
import {
|
|
14
|
+
import { createNotificationState, notificationsNeedTick, pushNotification, renderNotificationStack, tickNotifications, trimNotificationsToViewport, } from './notification.js';
|
|
15
|
+
import { isFrameScopedMsg, isPageScopedMsg, wrapCmdForPage, emitMsg, emitMsgForPage, wrapFrameMsg, } from './app-frame-types.js';
|
|
15
16
|
import { createFrameKeyMap, frameBodyRect, mergeBindingSources, } from './app-frame-utils.js';
|
|
16
17
|
import { renderHeaderLine, renderHelpLine, renderPageContent, renderMaximizedPane, renderTransition, } from './app-frame-render.js';
|
|
17
18
|
import { applyFrameAction, syncPageFrameState, } from './app-frame-actions.js';
|
|
18
19
|
import { handlePaletteKey, openCommandPalette, } from './app-frame-palette.js';
|
|
19
20
|
import { visibleLength } from './viewport.js';
|
|
20
21
|
// ---------------------------------------------------------------------------
|
|
22
|
+
// Frame Notification Helpers
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
const FRAME_NOTIFICATION_TICK_MS = 40;
|
|
25
|
+
const DEFAULT_FRAME_NOTIFICATION_DURATION_MS = 6_000;
|
|
26
|
+
function resolveFrameNotificationOptions(options) {
|
|
27
|
+
if (options.runtimeNotifications === false) {
|
|
28
|
+
return {
|
|
29
|
+
enabled: false,
|
|
30
|
+
placement: 'LOWER_RIGHT',
|
|
31
|
+
durationMs: DEFAULT_FRAME_NOTIFICATION_DURATION_MS,
|
|
32
|
+
margin: 1,
|
|
33
|
+
gap: 1,
|
|
34
|
+
overflow: 'wrap',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const configured = options.runtimeNotifications === true || options.runtimeNotifications == null
|
|
38
|
+
? {}
|
|
39
|
+
: options.runtimeNotifications;
|
|
40
|
+
return {
|
|
41
|
+
enabled: configured.enabled ?? true,
|
|
42
|
+
placement: configured.placement ?? 'LOWER_RIGHT',
|
|
43
|
+
durationMs: configured.durationMs ?? DEFAULT_FRAME_NOTIFICATION_DURATION_MS,
|
|
44
|
+
margin: configured.margin ?? 1,
|
|
45
|
+
gap: configured.gap ?? 1,
|
|
46
|
+
overflow: configured.overflow ?? 'wrap',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function createFrameNotificationTickCmd() {
|
|
50
|
+
return async (_emit, caps) => {
|
|
51
|
+
if (!caps.sleep) {
|
|
52
|
+
throw new Error('createFrameNotificationTickCmd requires sleep capability');
|
|
53
|
+
}
|
|
54
|
+
await caps.sleep(FRAME_NOTIFICATION_TICK_MS);
|
|
55
|
+
return wrapFrameMsg({
|
|
56
|
+
type: 'notification-tick',
|
|
57
|
+
atMs: caps.now?.() ?? 0,
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
}
|
|
21
61
|
// Factory
|
|
22
62
|
// ---------------------------------------------------------------------------
|
|
23
63
|
/**
|
|
@@ -40,6 +80,7 @@ export function createFramedApp(options) {
|
|
|
40
80
|
throw new Error(`createFramedApp: defaultPageId "${defaultPageId}" not found in pages`);
|
|
41
81
|
}
|
|
42
82
|
const frameKeys = createFrameKeyMap();
|
|
83
|
+
const frameNotificationOptions = resolveFrameNotificationOptions(options);
|
|
43
84
|
const paletteKeys = commandPaletteKeyMap({
|
|
44
85
|
focusNext: { type: 'cp-next' },
|
|
45
86
|
focusPrev: { type: 'cp-prev' },
|
|
@@ -48,6 +89,30 @@ export function createFramedApp(options) {
|
|
|
48
89
|
select: { type: 'cp-select' },
|
|
49
90
|
close: { type: 'cp-close' },
|
|
50
91
|
});
|
|
92
|
+
function withObservedKey(model, cmds, msg, route) {
|
|
93
|
+
const observed = options.observeKey?.(msg, route);
|
|
94
|
+
if (observed === undefined)
|
|
95
|
+
return [...cmds];
|
|
96
|
+
return [emitMsgForPage(model.activePageId, observed), ...cmds];
|
|
97
|
+
}
|
|
98
|
+
function applyFrameNotificationState(model, notifications, nowMs, forceTick = false) {
|
|
99
|
+
const trimmed = trimNotificationsToViewport(notifications, {
|
|
100
|
+
screenWidth: model.columns,
|
|
101
|
+
screenHeight: model.rows,
|
|
102
|
+
margin: frameNotificationOptions.margin,
|
|
103
|
+
gap: frameNotificationOptions.gap,
|
|
104
|
+
}, nowMs);
|
|
105
|
+
const needsTick = notificationsNeedTick(trimmed);
|
|
106
|
+
const nextModel = {
|
|
107
|
+
...model,
|
|
108
|
+
runtimeNotifications: trimmed,
|
|
109
|
+
runtimeNotificationLoopActive: needsTick,
|
|
110
|
+
};
|
|
111
|
+
if (needsTick && (forceTick || !model.runtimeNotificationLoopActive)) {
|
|
112
|
+
return [nextModel, [createFrameNotificationTickCmd()]];
|
|
113
|
+
}
|
|
114
|
+
return [nextModel, []];
|
|
115
|
+
}
|
|
51
116
|
const app = {
|
|
52
117
|
init() {
|
|
53
118
|
const pageModels = {};
|
|
@@ -73,6 +138,8 @@ export function createFramedApp(options) {
|
|
|
73
138
|
maximizedPaneByPage: {},
|
|
74
139
|
dockStateByPage: {},
|
|
75
140
|
splitRatioOverrides: {},
|
|
141
|
+
runtimeNotifications: createNotificationState(),
|
|
142
|
+
runtimeNotificationLoopActive: false,
|
|
76
143
|
};
|
|
77
144
|
for (const pageId of pageOrder) {
|
|
78
145
|
model = syncPageFrameState(model, pageId, pagesById);
|
|
@@ -95,16 +162,31 @@ export function createFramedApp(options) {
|
|
|
95
162
|
update(msg, model) {
|
|
96
163
|
if (isFrameScopedMsg(msg)) {
|
|
97
164
|
const action = msg.action;
|
|
165
|
+
if (action.type === 'runtime-issue') {
|
|
166
|
+
if (!frameNotificationOptions.enabled)
|
|
167
|
+
return [model, []];
|
|
168
|
+
const notifications = pushNotification(model.runtimeNotifications, {
|
|
169
|
+
title: action.issue.level === 'warning' ? 'Framework warning' : 'Runtime error',
|
|
170
|
+
message: action.issue.message,
|
|
171
|
+
variant: 'TOAST',
|
|
172
|
+
tone: action.issue.level === 'warning' ? 'WARNING' : 'ERROR',
|
|
173
|
+
placement: frameNotificationOptions.placement,
|
|
174
|
+
durationMs: frameNotificationOptions.durationMs,
|
|
175
|
+
overflow: frameNotificationOptions.overflow,
|
|
176
|
+
}, action.issue.atMs);
|
|
177
|
+
return applyFrameNotificationState(model, notifications, action.issue.atMs);
|
|
178
|
+
}
|
|
179
|
+
if (action.type === 'notification-tick') {
|
|
180
|
+
const notifications = tickNotifications(model.runtimeNotifications, action.atMs);
|
|
181
|
+
return applyFrameNotificationState(model, notifications, action.atMs, true);
|
|
182
|
+
}
|
|
98
183
|
if (action.type === 'transition') {
|
|
99
184
|
// Ignore stale transition ticks from a previous generation
|
|
100
185
|
if (action.generation !== model.transitionGeneration)
|
|
101
186
|
return [model, []];
|
|
102
|
-
// Advance timeline
|
|
103
|
-
if (model.transitionTimeline && model.transitionTimelineState
|
|
104
|
-
const
|
|
105
|
-
const elapsedSec = Math.max(0, elapsedMs / 1000);
|
|
106
|
-
// Step from init to current elapsed time (tweens are deterministic)
|
|
107
|
-
const state = model.transitionTimeline.step(model.transitionTimeline.init(), elapsedSec);
|
|
187
|
+
// Advance timeline from deterministic pulse deltas.
|
|
188
|
+
if (model.transitionTimeline && model.transitionTimelineState) {
|
|
189
|
+
const state = model.transitionTimeline.step(model.transitionTimelineState, Math.max(0, action.dt));
|
|
108
190
|
const vals = model.transitionTimeline.values(state);
|
|
109
191
|
const progress = Math.min(1, Math.max(0, vals['progress'] ?? action.progress));
|
|
110
192
|
if (model.transitionTimeline.done(state) || progress >= 1) {
|
|
@@ -158,33 +240,52 @@ export function createFramedApp(options) {
|
|
|
158
240
|
}
|
|
159
241
|
if (isKeyMsg(msg)) {
|
|
160
242
|
if (model.commandPalette != null) {
|
|
161
|
-
|
|
243
|
+
const [nextModel, cmds] = handlePaletteKey(msg, model, paletteKeys, options, pagesById);
|
|
244
|
+
return [nextModel, withObservedKey(model, cmds, msg, 'palette')];
|
|
162
245
|
}
|
|
163
246
|
// Help acts as a modal layer when open: only close keys are handled.
|
|
164
247
|
if (model.helpOpen) {
|
|
165
248
|
if (!msg.ctrl && !msg.alt && (msg.key === 'escape' || msg.key === '?')) {
|
|
166
|
-
return [{ ...model, helpOpen: false }, []];
|
|
249
|
+
return [{ ...model, helpOpen: false }, withObservedKey(model, [], msg, 'help')];
|
|
167
250
|
}
|
|
168
|
-
return [model, []];
|
|
251
|
+
return [model, withObservedKey(model, [], msg, 'help')];
|
|
169
252
|
}
|
|
253
|
+
const activePage = pagesById.get(model.activePageId);
|
|
254
|
+
const pageAction = activePage.keyMap?.handle(msg);
|
|
255
|
+
const globalAction = options.globalKeys?.handle(msg);
|
|
170
256
|
const frameAction = frameKeys.handle(msg);
|
|
257
|
+
const keyPriority = options.keyPriority ?? 'frame-first';
|
|
258
|
+
if (keyPriority === 'page-first') {
|
|
259
|
+
if (pageAction !== undefined) {
|
|
260
|
+
return [model, withObservedKey(model, [emitMsgForPage(model.activePageId, pageAction)], msg, 'page')];
|
|
261
|
+
}
|
|
262
|
+
if (globalAction !== undefined) {
|
|
263
|
+
return [model, withObservedKey(model, [emitMsg(globalAction)], msg, 'global')];
|
|
264
|
+
}
|
|
265
|
+
if (frameAction !== undefined) {
|
|
266
|
+
if (frameAction.type === 'open-palette' && options.enableCommandPalette) {
|
|
267
|
+
return [openCommandPalette(model, frameKeys, options, pagesById), withObservedKey(model, [], msg, 'frame')];
|
|
268
|
+
}
|
|
269
|
+
const [nextModel, cmds] = applyFrameAction(frameAction, model, options, pagesById);
|
|
270
|
+
return [nextModel, withObservedKey(model, cmds, msg, 'frame')];
|
|
271
|
+
}
|
|
272
|
+
return [model, withObservedKey(model, [], msg, 'unhandled')];
|
|
273
|
+
}
|
|
171
274
|
if (frameAction !== undefined) {
|
|
172
275
|
// Handle palette opening here since applyFrameAction doesn't have access to palette deps
|
|
173
276
|
if (frameAction.type === 'open-palette' && options.enableCommandPalette) {
|
|
174
|
-
return [openCommandPalette(model, frameKeys, options, pagesById), []];
|
|
277
|
+
return [openCommandPalette(model, frameKeys, options, pagesById), withObservedKey(model, [], msg, 'frame')];
|
|
175
278
|
}
|
|
176
|
-
|
|
279
|
+
const [nextModel, cmds] = applyFrameAction(frameAction, model, options, pagesById);
|
|
280
|
+
return [nextModel, withObservedKey(model, cmds, msg, 'frame')];
|
|
177
281
|
}
|
|
178
|
-
const globalAction = options.globalKeys?.handle(msg);
|
|
179
282
|
if (globalAction !== undefined) {
|
|
180
|
-
return [model, [emitMsg(globalAction)]];
|
|
283
|
+
return [model, withObservedKey(model, [emitMsg(globalAction)], msg, 'global')];
|
|
181
284
|
}
|
|
182
|
-
const activePage = pagesById.get(model.activePageId);
|
|
183
|
-
const pageAction = activePage.keyMap?.handle(msg);
|
|
184
285
|
if (pageAction !== undefined) {
|
|
185
|
-
return [model, [emitMsgForPage(model.activePageId, pageAction)]];
|
|
286
|
+
return [model, withObservedKey(model, [emitMsgForPage(model.activePageId, pageAction)], msg, 'page')];
|
|
186
287
|
}
|
|
187
|
-
return [model, []];
|
|
288
|
+
return [model, withObservedKey(model, [], msg, 'unhandled')];
|
|
188
289
|
}
|
|
189
290
|
if (isMouseMsg(msg)) {
|
|
190
291
|
return [model, []];
|
|
@@ -244,6 +345,16 @@ export function createFramedApp(options) {
|
|
|
244
345
|
screenRect: { row: 0, col: 0, width: model.columns, height: model.rows },
|
|
245
346
|
}));
|
|
246
347
|
}
|
|
348
|
+
if (frameNotificationOptions.enabled) {
|
|
349
|
+
const ctx = resolveSafeCtx();
|
|
350
|
+
overlays.push(...renderNotificationStack(model.runtimeNotifications, {
|
|
351
|
+
screenWidth: model.columns,
|
|
352
|
+
screenHeight: model.rows,
|
|
353
|
+
margin: frameNotificationOptions.margin,
|
|
354
|
+
gap: frameNotificationOptions.gap,
|
|
355
|
+
ctx: ctx ?? undefined,
|
|
356
|
+
}));
|
|
357
|
+
}
|
|
247
358
|
if (model.helpOpen) {
|
|
248
359
|
const full = helpView(mergeBindingSources(frameKeys, options.globalKeys, activePage.helpSource ?? activePage.keyMap));
|
|
249
360
|
overlays.push(modal({
|
|
@@ -277,6 +388,11 @@ export function createFramedApp(options) {
|
|
|
277
388
|
dimBackground: overlays.length > 0,
|
|
278
389
|
});
|
|
279
390
|
},
|
|
391
|
+
routeRuntimeIssue(issue) {
|
|
392
|
+
if (!frameNotificationOptions.enabled)
|
|
393
|
+
return undefined;
|
|
394
|
+
return wrapFrameMsg({ type: 'runtime-issue', issue });
|
|
395
|
+
},
|
|
280
396
|
};
|
|
281
397
|
return app;
|
|
282
398
|
}
|
|
@@ -293,7 +409,7 @@ function composeFrameSurface(options) {
|
|
|
293
409
|
dimSurface(frame);
|
|
294
410
|
}
|
|
295
411
|
for (const overlay of options.overlays) {
|
|
296
|
-
const overlaySurface = parseAnsiToSurface(overlay.content, maxVisibleWidth(overlay.content), overlay.content.split('\n').length);
|
|
412
|
+
const overlaySurface = overlay.surface ?? parseAnsiToSurface(overlay.content, maxVisibleWidth(overlay.content), overlay.content.split('\n').length);
|
|
297
413
|
frame.blit(overlaySurface, overlay.col, overlay.row);
|
|
298
414
|
}
|
|
299
415
|
return frame;
|
package/dist/app-frame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-frame.js","sourceRoot":"","sources":["../src/app-frame.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-frame.js","sourceRoot":"","sources":["../src/app-frame.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,GAAG,EAAmB,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAEhC;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,KAAK,GAAG,EAAmB,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAEhC;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAWlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAEpD"}
|
package/dist/commands.js
CHANGED
|
@@ -25,9 +25,17 @@ export function quit() {
|
|
|
25
25
|
* @returns A one-shot timer command.
|
|
26
26
|
*/
|
|
27
27
|
export function tick(ms, msg) {
|
|
28
|
-
return (_emit,
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
return async (_emit, caps) => {
|
|
29
|
+
if (caps.sleep) {
|
|
30
|
+
await caps.sleep(ms);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
await new Promise((resolve) => {
|
|
34
|
+
setTimeout(resolve, ms);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return msg;
|
|
38
|
+
};
|
|
31
39
|
}
|
|
32
40
|
/**
|
|
33
41
|
* Group multiple commands into an array.
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAA6B,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAkB,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAI,EAAU,EAAE,GAAM;IACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAA6B,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAkB,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAI,EAAU,EAAE,GAAM;IACxC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,KAAK,CAAI,GAAG,IAAc;IACxC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/driver.d.ts
CHANGED
|
@@ -48,6 +48,8 @@ export type ScriptStep<M = never> = {
|
|
|
48
48
|
export interface RunScriptOptions extends RunOptions {
|
|
49
49
|
/** Capture each rendered frame. */
|
|
50
50
|
onFrame?: (frame: Surface, index: number) => void;
|
|
51
|
+
/** Pulse frequency used to drive animation commands. Set to `false` to disable. */
|
|
52
|
+
pulseFps?: number | false;
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
55
|
* Result returned by {@link runScript} after all steps have been processed.
|
|
@@ -73,11 +75,8 @@ export interface RunScriptResult<Model> {
|
|
|
73
75
|
* - A command returns QUIT
|
|
74
76
|
* - All script steps are exhausted (auto-quits)
|
|
75
77
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* Commands that use `setTimeout`, real I/O, or other macrotask-based async
|
|
79
|
-
* may not have completed before the next key is dispatched. Use `delay`
|
|
80
|
-
* on subsequent steps to allow time for macrotask-based commands.
|
|
78
|
+
* Between steps the driver waits for the event bus to go idle, so command
|
|
79
|
+
* chains settle deterministically without relying on microtask-only yields.
|
|
81
80
|
*
|
|
82
81
|
* @template Model - The application model type.
|
|
83
82
|
* @template M - The message (action) type for the TEA update cycle.
|
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,MAAM,YAAY,CAAC;AAI7D,OAAO,EAAE,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAI7D,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AAQxE,wDAAwD;AACxD,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,KAAK,IAC5B;IACA,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACC;IACA,4BAA4B;IAC5B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACC;IACA,2BAA2B;IAC3B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACC;IACA,oDAAoD;IACpD,GAAG,EAAE,CAAC,CAAC;IACP,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,4EAA4E;AAC5E,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,mCAAmC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,yCAAyC;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,oCAAoC;IACpC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,CAAC,EACtC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAClB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CA2GjC"}
|
package/dist/driver.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { isResizeMsg } from './types.js';
|
|
19
19
|
import { createEventBus } from './eventbus.js';
|
|
20
20
|
import { parseKey } from './keys.js';
|
|
21
|
+
import { resolveClock, sleep } from '@flyingrobots/bijou';
|
|
21
22
|
import { installBCSSResolver } from './css/install.js';
|
|
22
23
|
import { normalizeViewOutput } from './view-output.js';
|
|
23
24
|
// ---------------------------------------------------------------------------
|
|
@@ -34,11 +35,8 @@ import { normalizeViewOutput } from './view-output.js';
|
|
|
34
35
|
* - A command returns QUIT
|
|
35
36
|
* - All script steps are exhausted (auto-quits)
|
|
36
37
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* Commands that use `setTimeout`, real I/O, or other macrotask-based async
|
|
40
|
-
* may not have completed before the next key is dispatched. Use `delay`
|
|
41
|
-
* on subsequent steps to allow time for macrotask-based commands.
|
|
38
|
+
* Between steps the driver waits for the event bus to go idle, so command
|
|
39
|
+
* chains settle deterministically without relying on microtask-only yields.
|
|
42
40
|
*
|
|
43
41
|
* @template Model - The application model type.
|
|
44
42
|
* @template M - The message (action) type for the TEA update cycle.
|
|
@@ -48,9 +46,10 @@ import { normalizeViewOutput } from './view-output.js';
|
|
|
48
46
|
* @returns The final model, all rendered frames, and elapsed time.
|
|
49
47
|
*/
|
|
50
48
|
export async function runScript(app, steps, options) {
|
|
51
|
-
const
|
|
49
|
+
const clock = resolveClock(options?.ctx);
|
|
50
|
+
const start = clock.now();
|
|
52
51
|
const frames = [];
|
|
53
|
-
const bus = createEventBus();
|
|
52
|
+
const bus = createEventBus({ clock });
|
|
54
53
|
const ctx = options?.ctx;
|
|
55
54
|
if (ctx != null) {
|
|
56
55
|
installBCSSResolver(ctx, options?.css);
|
|
@@ -62,8 +61,10 @@ export async function runScript(app, steps, options) {
|
|
|
62
61
|
width: Math.max(0, Math.floor(ctx?.runtime.columns || 80)),
|
|
63
62
|
height: Math.max(0, Math.floor(ctx?.runtime.rows || 24)),
|
|
64
63
|
};
|
|
65
|
-
// Start heartbeat for animations
|
|
66
|
-
|
|
64
|
+
// Start heartbeat for animations when enabled.
|
|
65
|
+
if (options?.pulseFps !== false) {
|
|
66
|
+
bus.startPulse(options?.pulseFps ?? ctx?.runtime.refreshRate ?? 60);
|
|
67
|
+
}
|
|
67
68
|
/** Stop the scripted driver event loop. */
|
|
68
69
|
function shutdown() {
|
|
69
70
|
running = false;
|
|
@@ -96,14 +97,13 @@ export async function runScript(app, steps, options) {
|
|
|
96
97
|
for (const cmd of initCmds) {
|
|
97
98
|
bus.runCmd(cmd);
|
|
98
99
|
}
|
|
99
|
-
|
|
100
|
-
await new Promise((r) => queueMicrotask(r));
|
|
100
|
+
await bus.drain();
|
|
101
101
|
// Feed script steps
|
|
102
102
|
for (const step of steps) {
|
|
103
103
|
if (!running)
|
|
104
104
|
break;
|
|
105
105
|
if (step.delay && step.delay > 0) {
|
|
106
|
-
await
|
|
106
|
+
await sleep(clock, step.delay);
|
|
107
107
|
}
|
|
108
108
|
if (!running)
|
|
109
109
|
break;
|
|
@@ -129,11 +129,9 @@ export async function runScript(app, steps, options) {
|
|
|
129
129
|
const _exhaustive = step;
|
|
130
130
|
throw new Error(`runScript: unhandled script step variant: ${JSON.stringify(_exhaustive)}`);
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
await new Promise((r) => queueMicrotask(r));
|
|
132
|
+
await bus.drain();
|
|
134
133
|
}
|
|
135
|
-
|
|
136
|
-
await new Promise((r) => queueMicrotask(r));
|
|
134
|
+
await bus.drain();
|
|
137
135
|
}
|
|
138
136
|
finally {
|
|
139
137
|
bus.stopPulse();
|
|
@@ -142,7 +140,7 @@ export async function runScript(app, steps, options) {
|
|
|
142
140
|
return {
|
|
143
141
|
model,
|
|
144
142
|
frames,
|
|
145
|
-
elapsed:
|
|
143
|
+
elapsed: clock.now() - start,
|
|
146
144
|
};
|
|
147
145
|
}
|
|
148
146
|
//# sourceMappingURL=driver.js.map
|
package/dist/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"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"}
|
package/dist/eventbus.d.ts
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
import type { IOPort } from '@flyingrobots/bijou';
|
|
28
|
+
import { type ClockPort } from '@flyingrobots/bijou';
|
|
28
29
|
import type { Cmd, KeyMsg, MouseMsg, PulseMsg, ResizeMsg } from './types.js';
|
|
29
30
|
/**
|
|
30
31
|
* Union of all message types the bus can carry — built-in key, resize,
|
|
@@ -121,6 +122,8 @@ export interface EventBus<M> {
|
|
|
121
122
|
* @returns A disposable that removes this middleware.
|
|
122
123
|
*/
|
|
123
124
|
use(middleware: Middleware<M>): Disposable;
|
|
125
|
+
/** Resolve once all in-flight commands have settled. */
|
|
126
|
+
drain(): Promise<void>;
|
|
124
127
|
/** Disconnect all sources and remove all subscribers. */
|
|
125
128
|
dispose(): void;
|
|
126
129
|
}
|
|
@@ -130,6 +133,8 @@ export interface CreateEventBusOptions {
|
|
|
130
133
|
onCommandRejected?: (error: unknown) => void;
|
|
131
134
|
/** Called to surface error messages (replaces direct `console.error` usage). */
|
|
132
135
|
onError?: (message: string, error: unknown) => void;
|
|
136
|
+
/** Clock/scheduler override for deterministic command and pulse timing. */
|
|
137
|
+
clock?: ClockPort;
|
|
133
138
|
}
|
|
134
139
|
/** Handle for unsubscribing or disconnecting a resource. */
|
|
135
140
|
interface Disposable {
|
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,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ7E;;;;;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,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;
|
|
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,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ7E;;;;;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;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,qBAAqB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAkQjF"}
|