@flyingrobots/bijou-tui 5.0.0 → 7.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.
Files changed (125) hide show
  1. package/README.md +152 -1
  2. package/dist/animate.d.ts +4 -0
  3. package/dist/animate.d.ts.map +1 -1
  4. package/dist/animate.js +47 -20
  5. package/dist/animate.js.map +1 -1
  6. package/dist/app-frame-actions.d.ts.map +1 -1
  7. package/dist/app-frame-actions.js +56 -1
  8. package/dist/app-frame-actions.js.map +1 -1
  9. package/dist/app-frame-i18n.d.ts.map +1 -1
  10. package/dist/app-frame-i18n.js +3 -1
  11. package/dist/app-frame-i18n.js.map +1 -1
  12. package/dist/app-frame-overlays.d.ts +16 -1
  13. package/dist/app-frame-overlays.d.ts.map +1 -1
  14. package/dist/app-frame-overlays.js +63 -1
  15. package/dist/app-frame-overlays.js.map +1 -1
  16. package/dist/app-frame-palette.d.ts.map +1 -1
  17. package/dist/app-frame-palette.js +36 -16
  18. package/dist/app-frame-palette.js.map +1 -1
  19. package/dist/app-frame-render.d.ts.map +1 -1
  20. package/dist/app-frame-render.js +14 -5
  21. package/dist/app-frame-render.js.map +1 -1
  22. package/dist/app-frame-types.d.ts +22 -0
  23. package/dist/app-frame-types.d.ts.map +1 -1
  24. package/dist/app-frame-types.js.map +1 -1
  25. package/dist/app-frame-utils.d.ts +3 -1
  26. package/dist/app-frame-utils.d.ts.map +1 -1
  27. package/dist/app-frame-utils.js +5 -0
  28. package/dist/app-frame-utils.js.map +1 -1
  29. package/dist/app-frame.d.ts +68 -6
  30. package/dist/app-frame.d.ts.map +1 -1
  31. package/dist/app-frame.js +121 -17
  32. package/dist/app-frame.js.map +1 -1
  33. package/dist/canvas.d.ts +11 -3
  34. package/dist/canvas.d.ts.map +1 -1
  35. package/dist/canvas.js +122 -9
  36. package/dist/canvas.js.map +1 -1
  37. package/dist/cell-glyph-fit.d.ts +20 -0
  38. package/dist/cell-glyph-fit.d.ts.map +1 -0
  39. package/dist/cell-glyph-fit.js +82 -0
  40. package/dist/cell-glyph-fit.js.map +1 -0
  41. package/dist/command-palette.d.ts +2 -0
  42. package/dist/command-palette.d.ts.map +1 -1
  43. package/dist/command-palette.js +36 -19
  44. package/dist/command-palette.js.map +1 -1
  45. package/dist/eventbus.d.ts +20 -0
  46. package/dist/eventbus.d.ts.map +1 -1
  47. package/dist/eventbus.js +47 -0
  48. package/dist/eventbus.js.map +1 -1
  49. package/dist/file-picker.d.ts +4 -0
  50. package/dist/file-picker.d.ts.map +1 -1
  51. package/dist/file-picker.js +9 -1
  52. package/dist/file-picker.js.map +1 -1
  53. package/dist/focus-area.d.ts +6 -5
  54. package/dist/focus-area.d.ts.map +1 -1
  55. package/dist/focus-area.js +6 -5
  56. package/dist/focus-area.js.map +1 -1
  57. package/dist/focus-map.d.ts +40 -0
  58. package/dist/focus-map.d.ts.map +1 -0
  59. package/dist/focus-map.js +133 -0
  60. package/dist/focus-map.js.map +1 -0
  61. package/dist/index.d.ts +22 -4
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +14 -2
  64. package/dist/index.js.map +1 -1
  65. package/dist/input-map.d.ts +68 -0
  66. package/dist/input-map.d.ts.map +1 -0
  67. package/dist/input-map.js +162 -0
  68. package/dist/input-map.js.map +1 -0
  69. package/dist/input-routing-inspector.d.ts +24 -0
  70. package/dist/input-routing-inspector.d.ts.map +1 -0
  71. package/dist/input-routing-inspector.js +76 -0
  72. package/dist/input-routing-inspector.js.map +1 -0
  73. package/dist/keybindings.d.ts.map +1 -1
  74. package/dist/keybindings.js +3 -0
  75. package/dist/keybindings.js.map +1 -1
  76. package/dist/layout-inspector.d.ts +31 -0
  77. package/dist/layout-inspector.d.ts.map +1 -0
  78. package/dist/layout-inspector.js +133 -0
  79. package/dist/layout-inspector.js.map +1 -0
  80. package/dist/notification.d.ts.map +1 -1
  81. package/dist/notification.js +38 -5
  82. package/dist/notification.js.map +1 -1
  83. package/dist/pipeline/middleware/motion.d.ts.map +1 -1
  84. package/dist/pipeline/middleware/motion.js +2 -1
  85. package/dist/pipeline/middleware/motion.js.map +1 -1
  86. package/dist/pipeline/middleware/paint.d.ts.map +1 -1
  87. package/dist/pipeline/middleware/paint.js +2 -1
  88. package/dist/pipeline/middleware/paint.js.map +1 -1
  89. package/dist/pipeline/pipeline.d.ts +8 -1
  90. package/dist/pipeline/pipeline.d.ts.map +1 -1
  91. package/dist/pipeline/pipeline.js +43 -7
  92. package/dist/pipeline/pipeline.js.map +1 -1
  93. package/dist/raster-glyph.d.ts +45 -0
  94. package/dist/raster-glyph.d.ts.map +1 -0
  95. package/dist/raster-glyph.js +405 -0
  96. package/dist/raster-glyph.js.map +1 -0
  97. package/dist/raytrace.d.ts +59 -0
  98. package/dist/raytrace.d.ts.map +1 -0
  99. package/dist/raytrace.js +121 -0
  100. package/dist/raytrace.js.map +1 -0
  101. package/dist/runtime-binding.d.ts +59 -0
  102. package/dist/runtime-binding.d.ts.map +1 -0
  103. package/dist/runtime-binding.js +271 -0
  104. package/dist/runtime-binding.js.map +1 -0
  105. package/dist/runtime.d.ts.map +1 -1
  106. package/dist/runtime.js +51 -6
  107. package/dist/runtime.js.map +1 -1
  108. package/dist/shell-quit.js +1 -1
  109. package/dist/shell-quit.js.map +1 -1
  110. package/dist/surface-budget.d.ts +27 -0
  111. package/dist/surface-budget.d.ts.map +1 -0
  112. package/dist/surface-budget.js +61 -0
  113. package/dist/surface-budget.js.map +1 -0
  114. package/dist/surface-diff.d.ts +36 -0
  115. package/dist/surface-diff.d.ts.map +1 -0
  116. package/dist/surface-diff.js +202 -0
  117. package/dist/surface-diff.js.map +1 -0
  118. package/dist/surface-layout.d.ts +11 -0
  119. package/dist/surface-layout.d.ts.map +1 -1
  120. package/dist/surface-layout.js +16 -1
  121. package/dist/surface-layout.js.map +1 -1
  122. package/dist/types.d.ts +8 -0
  123. package/dist/types.d.ts.map +1 -1
  124. package/dist/types.js.map +1 -1
  125. package/package.json +4 -4
package/README.md CHANGED
@@ -74,6 +74,10 @@ keep composition on the surface side: use `contentSurface()` directly or pass
74
74
  strings into `vstackSurface()` / `hstackSurface()`. Raw strings are still not a
75
75
  valid `view()` return type.
76
76
 
77
+ Use `proseSurface(text, { width })` when paragraph-like text should wrap at
78
+ word boundaries before becoming a surface. Keep `contentSurface()` for
79
+ preformatted output, tables, boxes, and caller-managed line breaks.
80
+
77
81
  ## Strategy: Choosing Component Families
78
82
 
79
83
  Select the family based on the interaction semantic.
@@ -84,6 +88,14 @@ Select the family based on the interaction semantic.
84
88
  - **`toast()`**: Transient notification for a single event.
85
89
  - **`tooltip()`**: Micro-explanation for a local target.
86
90
  - **`debugOverlay()`**: Development-only perf HUD composited onto any app surface.
91
+ - **`layoutInspectorOverlay()`**: Development-only geometry HUD for region
92
+ bounds, focus, and layers.
93
+ - **`inputRoutingInspectorText()`**: Development-only route trace for recent
94
+ key and pointer events.
95
+ - **`focusMapText()`**: Development-only focus ownership and tab-order report.
96
+ - **`evaluateSurfaceBudget()`**: Deterministic warnings for surface and timing
97
+ thresholds.
98
+ - **`surfaceDiffSurface()`**: Side-by-side or overlay inspection for two rendered surfaces.
87
99
 
88
100
  ### Collection Interaction
89
101
  - **`navigableTable()`**: Keyboard-driven traversal and cell inspection.
@@ -91,7 +103,8 @@ Select the family based on the interaction semantic.
91
103
  - **`commandPalette()`**: Action discovery and navigation.
92
104
 
93
105
  ### Shell and Workspace Layout
94
- - **`createFramedApp()`**: Batteries-included workspace with tabs, panes, and help.
106
+ - **`createFramedApp()`**: Batteries-included workspace with tabs, panes,
107
+ help, and a shell-owned perf HUD toggled with the backtick key.
95
108
  - **`splitPane()`**: Dynamic primary/secondary context comparison.
96
109
  - **`grid()`**: Stable regions with simultaneous visibility.
97
110
  - **`viewport()`**: The canonical scroll mask for rich composition.
@@ -115,6 +128,18 @@ the shared runtime loop still does the heavy lifting, and frame timing/budget
115
128
  telemetry stays attached to the frame model for shell-owned UI. For Node-hosted
116
129
  apps, `startApp(app)` remains the default bootstrap.
117
130
 
131
+ ## Runtime Diagnostics
132
+
133
+ The EventBus exposes command queue facts through `getCommandDiagnostics()`.
134
+ `run(app, { commandBackpressureThreshold })` routes a warning when pending
135
+ commands cross the threshold, without hard-capping legitimate bursts. The
136
+ default threshold is 1000; use `0` to disable the warning.
137
+
138
+ Render pipeline middleware is synchronous by contract. If middleware returns a
139
+ Promise, Bijou reports a pipeline diagnostic, keeps the current frame moving,
140
+ and ignores any late `next()` continuation so stage ordering stays
141
+ deterministic.
142
+
118
143
  ## Animation
119
144
 
120
145
  ### Spring Physics
@@ -129,6 +154,11 @@ const cmd = animate({
129
154
  });
130
155
  ```
131
156
 
157
+ Spring commands integrate physics with bounded fixed timesteps by default, so a
158
+ slow terminal frame cannot feed a large raw pulse delta into the spring. Tune
159
+ `fixedStepSeconds` and `maxPulseSeconds` only when an app needs a custom
160
+ simulation cadence.
161
+
132
162
  ### Timeline Orchestration
133
163
  ```typescript
134
164
  import { timeline } from '@flyingrobots/bijou-tui';
@@ -142,6 +172,19 @@ const tl = timeline()
142
172
 
143
173
  ## Post-Process Shaders
144
174
 
175
+ `canvas()` can render procedural surfaces at cell, Quad, Braille, or glyph-fit
176
+ resolution. Use `resolution: 'glyph'` when a shader should sample a 2x4 grid but
177
+ collapse into geometry-aware Unicode or ASCII characters instead of Braille.
178
+
179
+ ```typescript
180
+ import { canvas } from '@flyingrobots/bijou-tui';
181
+
182
+ const logo = canvas(24, 6, ({ u, v }) => {
183
+ const lit = Math.abs(u - v) < 0.08;
184
+ return lit ? { char: 'X', fg: '#ffffff' } : ' ';
185
+ }, { resolution: 'glyph' });
186
+ ```
187
+
145
188
  ```typescript
146
189
  import { run, surfaceShaderFilter, scanlines, vignette } from '@flyingrobots/bijou-tui';
147
190
 
@@ -181,6 +224,114 @@ Keep `runScript()` for fixture-style interaction playback and GIF/demo
181
224
  capture, and use `testRuntime()` when you need direct assertions on
182
225
  snapshots, emitted messages, command outcomes, or cleanup disposal.
183
226
 
227
+ Use `surfaceDiffText()` or `surfaceDiffSurface()` when a frame assertion fails
228
+ and you need cell-level truth instead of a raw string dump:
229
+
230
+ ```typescript
231
+ import { surfaceDiffText } from '@flyingrobots/bijou-tui';
232
+
233
+ expect(surfaceDiffText(before, after)).toContain('surface diff: 2 changed');
234
+ ```
235
+
236
+ Use `layoutInspectorOverlay()` when a layout assertion needs visual geometry
237
+ truth on top of the rendered frame:
238
+
239
+ ```typescript
240
+ import {
241
+ layoutInspectorOverlay,
242
+ layoutInspectorText,
243
+ } from '@flyingrobots/bijou-tui';
244
+
245
+ const inspected = layoutInspectorOverlay(frame, [
246
+ {
247
+ id: 'editor',
248
+ rect: { col: 2, row: 1, width: 40, height: 12 },
249
+ focused: true,
250
+ },
251
+ ]);
252
+
253
+ expect(layoutInspectorText([
254
+ { id: 'editor', rect: { x: 2, y: 1, width: 40, height: 12 } },
255
+ ]))
256
+ .toContain('focused=false');
257
+ ```
258
+
259
+ Use `evaluateSurfaceBudget()` directly in tests or pass `surfaceBudget` to
260
+ `run()` when an interactive app should route non-fatal runtime warnings:
261
+
262
+ ```typescript
263
+ import { evaluateSurfaceBudget, run } from '@flyingrobots/bijou-tui';
264
+
265
+ expect(evaluateSurfaceBudget({
266
+ surface: frame,
267
+ thresholds: { maxArea: 4000 },
268
+ })).toEqual([]);
269
+
270
+ await run(app, {
271
+ ctx,
272
+ surfaceBudget: { maxArea: 4000, maxStageDurationMs: { Paint: 8 } },
273
+ });
274
+ ```
275
+
276
+ Use `appendInputRoutingRecord()` and `inputRoutingInspectorText()` when a shell
277
+ or app wants to keep the last few routing decisions visible:
278
+
279
+ ```typescript
280
+ import {
281
+ appendInputRoutingRecord,
282
+ inputRoutingInspectorText,
283
+ } from '@flyingrobots/bijou-tui';
284
+
285
+ const history = appendInputRoutingRecord({ records: [] }, {
286
+ event,
287
+ result,
288
+ commandLabels: ['save-file'],
289
+ });
290
+
291
+ console.log(inputRoutingInspectorText(history));
292
+ ```
293
+
294
+ Use `createInputGestureRecognizer()` and `createInputActionMap()` when raw input
295
+ needs to become semantic gestures before routing. Bijou ships standard feature
296
+ event names such as `press`, `held`, `release`, `tap`, `double-tap`,
297
+ `long-press`, and lets apps provide their own event type strings.
298
+
299
+ ```typescript
300
+ import {
301
+ createInputActionMap,
302
+ createInputGestureRecognizer,
303
+ } from '@flyingrobots/bijou-tui';
304
+
305
+ const recognizer = createInputGestureRecognizer({ doubleTapMs: 300 });
306
+ const actions = createInputActionMap<{ type: 'toggle-footer' }>()
307
+ .bind('footer.doubleTab', 'Toggle footer', [
308
+ { deviceId: 'keyboard', featureId: 'key.tab', type: 'double-tap' },
309
+ ], { type: 'toggle-footer' });
310
+
311
+ const action = actions.handle(recognizer.observeKey(keyMsg, ctx.runtime.clock.now()));
312
+ ```
313
+
314
+ Use `focusMapText()` or `focusMapSurface()` when focus ownership and tab order
315
+ need the same deterministic treatment:
316
+
317
+ ```typescript
318
+ import { focusMapText } from '@flyingrobots/bijou-tui';
319
+
320
+ const report = focusMapText([
321
+ {
322
+ id: 'editor',
323
+ owner: 'workspace',
324
+ role: 'textbox',
325
+ rect: { x: 2, y: 1, width: 60, height: 20 },
326
+ tabIndex: 1,
327
+ focusable: true,
328
+ focused: true,
329
+ },
330
+ ]);
331
+
332
+ expect(report).toContain('[1] *editor');
333
+ ```
334
+
184
335
  ## Documentation
185
336
 
186
337
  - **[GUIDE.md](./GUIDE.md)**: Productive-fast path for building apps.
package/dist/animate.d.ts CHANGED
@@ -43,6 +43,10 @@ export interface SpringAnimateOptions<M> extends AnimateBase<M> {
43
43
  readonly type?: 'spring';
44
44
  /** Spring config — preset name or custom values. */
45
45
  readonly spring?: Partial<SpringConfig> | SpringPreset;
46
+ /** Integration step in seconds. Defaults to 1/120 for stable spring physics. */
47
+ readonly fixedStepSeconds?: number;
48
+ /** Maximum pulse time accepted in one runtime pulse. Defaults to 1/20. */
49
+ readonly maxPulseSeconds?: number;
46
50
  }
47
51
  /**
48
52
  * Options for a duration-based tween animation.
@@ -1 +1 @@
1
- {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EAQd,MAAM,aAAa,CAAC;AAMrB;;;;GAIG;AACH,UAAU,WAAW,CAAC,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7D,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC5D,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAMjF;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAiB7D;AA+FD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAMrD"}
1
+ {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,EAQd,MAAM,aAAa,CAAC;AASrB;;;;GAIG;AACH,UAAU,WAAW,CAAC,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7D,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IACvD,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC5D,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAMjF;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CA2B7D;AAyID;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAMrD"}
package/dist/animate.js CHANGED
@@ -15,6 +15,8 @@
15
15
  * the target value in a single frame.
16
16
  */
17
17
  import { springStep, createSpringState, resolveSpringConfig, tweenStep, createTweenState, resolveTweenConfig, EASINGS, } from './spring.js';
18
+ const DEFAULT_SPRING_FIXED_STEP_SECONDS = 1 / 120;
19
+ const DEFAULT_SPRING_MAX_PULSE_SECONDS = 1 / 20;
18
20
  // ---------------------------------------------------------------------------
19
21
  // animate() — the main API
20
22
  // ---------------------------------------------------------------------------
@@ -44,28 +46,43 @@ export function animate(options) {
44
46
  return createTweenCmd(from, to, options.duration, options.ease ?? EASINGS.easeOutCubic, onFrame, onComplete);
45
47
  }
46
48
  const config = resolveSpringConfig(options.spring);
47
- return createSpringCmd(from, to, config, onFrame, onComplete);
49
+ return createSpringCmd(from, to, config, {
50
+ fixedStepSeconds: resolvePositiveSeconds(options.fixedStepSeconds, DEFAULT_SPRING_FIXED_STEP_SECONDS),
51
+ maxPulseSeconds: resolveMaxPulseSeconds(options.maxPulseSeconds, options.fixedStepSeconds),
52
+ }, onFrame, onComplete);
48
53
  }
49
- // ---------------------------------------------------------------------------
50
- // Internal: spring command
51
- // ---------------------------------------------------------------------------
52
54
  /**
53
- * Build a TEA command that runs a spring animation via `setInterval`.
55
+ * Build a TEA command that advances a spring animation from runtime pulses.
56
+ *
57
+ * The command subscribes through `caps.onPulse`, caps each accepted pulse with
58
+ * `maxPulseSeconds`, and accumulates that time into fixed-step spring physics
59
+ * updates. Slow runtime pulses may delay progress, but they do not feed one
60
+ * large raw delta into the spring integrator.
54
61
  *
55
62
  * @template M - The message type emitted into the TEA update cycle.
56
- * @param from - Starting value.
57
- * @param to - Target value.
58
- * @param config - Resolved spring physics parameters.
59
- * @param fps - Frames per second for the interval timer.
60
- * @param onFrame - Callback invoked each frame with the interpolated value.
61
- * @param onComplete - Optional callback invoked when the spring settles.
63
+ * @param from - Starting value.
64
+ * @param to - Target value.
65
+ * @param config - Resolved spring physics parameters.
66
+ * @param integration - `fixedStepSeconds` and `maxPulseSeconds` integration policy.
67
+ * @param onFrame - Callback invoked after spring physics advances.
68
+ * @param onComplete - Optional callback invoked when the spring settles.
62
69
  * @returns A TEA command that resolves when the spring is done.
63
70
  */
64
- function createSpringCmd(from, to, config, onFrame, onComplete) {
71
+ function createSpringCmd(from, to, config, integration, onFrame, onComplete) {
65
72
  return (emit, caps) => new Promise((resolve) => {
66
73
  let state = createSpringState(from);
74
+ let accumulatedSeconds = 0;
67
75
  const handle = caps.onPulse((dt) => {
68
- state = springStep(state, to, config, dt);
76
+ accumulatedSeconds = Math.min(integration.maxPulseSeconds, accumulatedSeconds + acceptedPulseSeconds(dt, integration.maxPulseSeconds));
77
+ let stepped = false;
78
+ while (accumulatedSeconds >= integration.fixedStepSeconds && !state.done) {
79
+ state = springStep(state, to, config, integration.fixedStepSeconds);
80
+ accumulatedSeconds -= integration.fixedStepSeconds;
81
+ stepped = true;
82
+ }
83
+ if (!stepped) {
84
+ return;
85
+ }
69
86
  emit(onFrame(state.value));
70
87
  if (state.done) {
71
88
  handle.dispose();
@@ -76,23 +93,33 @@ function createSpringCmd(from, to, config, onFrame, onComplete) {
76
93
  });
77
94
  });
78
95
  }
96
+ function resolveMaxPulseSeconds(maxPulseSeconds, fixedStepSeconds) {
97
+ return Math.max(resolvePositiveSeconds(maxPulseSeconds, DEFAULT_SPRING_MAX_PULSE_SECONDS), resolvePositiveSeconds(fixedStepSeconds, DEFAULT_SPRING_FIXED_STEP_SECONDS));
98
+ }
99
+ function resolvePositiveSeconds(value, fallback) {
100
+ return value != null && Number.isFinite(value) && value > 0 ? value : fallback;
101
+ }
102
+ function acceptedPulseSeconds(dt, maxPulseSeconds) {
103
+ if (!Number.isFinite(dt) || dt <= 0) {
104
+ return 0;
105
+ }
106
+ return Math.min(dt, maxPulseSeconds);
107
+ }
79
108
  // ---------------------------------------------------------------------------
80
109
  // Internal: tween command
81
110
  // ---------------------------------------------------------------------------
82
111
  /**
83
- * Build a TEA command that runs a tween animation via `setInterval`.
112
+ * Build a TEA command that advances a tween animation from runtime pulse `dt`.
84
113
  *
85
- * Uses wall-clock time (`Date.now()`) to compute actual elapsed time
86
- * per frame, so animations run at the correct speed regardless of
87
- * timer jitter or system load.
114
+ * The command subscribes through `caps.onPulse`; each pulse supplies elapsed
115
+ * seconds, which are converted to milliseconds before calling `tweenStep()`.
88
116
  *
89
117
  * @template M - The message type emitted into the TEA update cycle.
90
118
  * @param from - Starting value.
91
119
  * @param to - Target value.
92
120
  * @param duration - Total animation duration in milliseconds.
93
121
  * @param ease - Easing function applied to normalized progress.
94
- * @param fps - Frames per second for the interval timer.
95
- * @param onFrame - Callback invoked each frame with the interpolated value.
122
+ * @param onFrame - Callback invoked after tween progress advances.
96
123
  * @param onComplete - Optional callback invoked when the tween completes.
97
124
  * @returns A TEA command that resolves when the tween is done.
98
125
  */
@@ -101,7 +128,7 @@ function createTweenCmd(from, to, duration, ease, onFrame, onComplete) {
101
128
  return (emit, caps) => new Promise((resolve) => {
102
129
  let state = createTweenState(from);
103
130
  const handle = caps.onPulse((dt) => {
104
- // TweenStep expects milliseconds for delta
131
+ // tweenStep expects the pulse delta in milliseconds.
105
132
  state = tweenStep(state, config, dt * 1000);
106
133
  emit(onFrame(state.value));
107
134
  if (state.done) {
@@ -1 +1 @@
1
- {"version":3,"file":"animate.js","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animate.js","sourceRoot":"","sources":["../src/animate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-actions.d.ts","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-actions.d.ts","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,9 @@ import { timeline } from './timeline.js';
13
13
  import { EASINGS } from './spring.js';
14
14
  import { collectPaneIds, assertUniquePaneIds, findPaneNode, frameBodyRect, } from './app-frame-utils.js';
15
15
  import { framePaneOutputToSurface, renderFrameNode } from './app-frame-render.js';
16
+ import { animate } from './animate.js';
16
17
  let focusedPaneMeasureScratch = null;
18
+ const FOOTER_TOGGLE_DURATION_MS = 200;
17
19
  function renderPaneSurfaceForMeasurement(output, width, height) {
18
20
  const scratch = focusedPaneMeasureScratch;
19
21
  focusedPaneMeasureScratch = framePaneOutputToSurface(output, width, height, scratch != null && scratch.width === width && scratch.height === height
@@ -26,6 +28,10 @@ export function applyFrameAction(action, model, options, pagesById) {
26
28
  switch (action.type) {
27
29
  case 'toggle-help':
28
30
  return [{ ...model, helpOpen: !model.helpOpen }, []];
31
+ case 'toggle-perf-hud':
32
+ return [{ ...model, perfHudOpen: !model.perfHudOpen }, []];
33
+ case 'toggle-footer':
34
+ return toggleFooter(model);
29
35
  case 'toggle-settings': {
30
36
  const activePage = pagesById.get(model.activePageId);
31
37
  const settings = options.settings?.({
@@ -33,7 +39,9 @@ export function applyFrameAction(action, model, options, pagesById) {
33
39
  activePage,
34
40
  pageModel: model.pageModels[model.activePageId],
35
41
  });
36
- const hasStockShellThemeSettings = (options.shellThemes?.length ?? 0) > 1;
42
+ const shellThemes = options.shellThemes ?? [];
43
+ const hasStockShellThemeSettings = shellThemes.length > 1
44
+ || shellThemes.some((theme) => (theme.modes?.length ?? 0) > 1);
37
45
  if (!hasStockShellThemeSettings
38
46
  && (settings == null || settings.sections.every((section) => section.rows.length === 0))) {
39
47
  return [model, []];
@@ -111,11 +119,58 @@ export function applyFrameAction(action, model, options, pagesById) {
111
119
  case 'runtime-issue':
112
120
  case 'notification-tick':
113
121
  return [model, []];
122
+ case 'footer-transition':
123
+ if (action.generation !== (model.footerAnimationGeneration ?? 0))
124
+ return [model, []];
125
+ return [{
126
+ ...model,
127
+ footerTranslateY: Math.max(0, Math.min(1, action.translateY)),
128
+ }, []];
129
+ case 'footer-transition-complete':
130
+ if (action.generation !== (model.footerAnimationGeneration ?? 0))
131
+ return [model, []];
132
+ return [{
133
+ ...model,
134
+ footerVisible: action.visible,
135
+ footerTranslateY: action.visible ? 0 : 1,
136
+ }, []];
114
137
  case 'transition':
115
138
  case 'transition-complete':
116
139
  return [model, []];
117
140
  }
118
141
  }
142
+ function toggleFooter(model) {
143
+ const currentVisible = model.footerVisible ?? true;
144
+ const visible = !currentVisible;
145
+ const generation = (model.footerAnimationGeneration ?? 0) + 1;
146
+ const defaultTranslateY = currentVisible ? 0 : 1;
147
+ const from = Math.max(0, Math.min(1, model.footerTranslateY ?? defaultTranslateY));
148
+ const to = visible ? 0 : 1;
149
+ const ease = visible ? EASINGS.easeIn : EASINGS.easeOut;
150
+ return [{
151
+ ...model,
152
+ footerVisible: visible,
153
+ footerAnimationGeneration: generation,
154
+ }, [
155
+ animate({
156
+ type: 'tween',
157
+ from,
158
+ to,
159
+ duration: FOOTER_TOGGLE_DURATION_MS,
160
+ ease,
161
+ onFrame: (translateY) => wrapFrameMsg({
162
+ type: 'footer-transition',
163
+ translateY,
164
+ generation,
165
+ }),
166
+ onComplete: () => wrapFrameMsg({
167
+ type: 'footer-transition-complete',
168
+ visible,
169
+ generation,
170
+ }),
171
+ }),
172
+ ]];
173
+ }
119
174
  function hasNotificationCenter(model, options, pagesById) {
120
175
  const activePage = pagesById.get(model.activePageId);
121
176
  if (activePage == null)
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-actions.js","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-actions.js","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-i18n.d.ts","sourceRoot":"","sources":["../src/app-frame-i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAInE,eAAO,MAAM,kBAAkB,EAAE,WAiFhC,CAAC;AAkBF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAC7C,MAAM,CAUR;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAEnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAEhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAE9E;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAC9E,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,MAAM,EAAE,yBAAyB,GAChC,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAgBpB"}
1
+ {"version":3,"file":"app-frame-i18n.d.ts","sourceRoot":"","sources":["../src/app-frame-i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAInE,eAAO,MAAM,kBAAkB,EAAE,WAmFhC,CAAC;AAkBF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAC7C,MAAM,CAUR;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAEnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAEhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAE9E;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAC9E,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,MAAM,EAAE,yBAAyB,GAChC,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAgBpB"}
@@ -7,6 +7,7 @@ export const FRAME_I18N_CATALOG = {
7
7
  message('key.group.scroll', 'Scroll'),
8
8
  message('key.group.shell', 'Shell'),
9
9
  message('key.toggleHelp', 'Toggle help'),
10
+ message('key.togglePerfHud', 'Toggle perf HUD'),
10
11
  message('key.prevTab', 'Previous tab'),
11
12
  message('key.nextTab', 'Next tab'),
12
13
  message('key.nextPane', 'Next pane'),
@@ -32,6 +33,7 @@ export const FRAME_I18N_CATALOG = {
32
33
  message('palette.title', 'Command Palette'),
33
34
  message('palette.hint', 'Enter select • Esc close'),
34
35
  message('search.title', 'Search'),
36
+ message('perfHud.title', 'Perf HUD'),
35
37
  message('settings.title', 'Settings'),
36
38
  message('settings.footer', 'F2/Esc close • ↑/↓ rows • Enter toggle • / search • q quit'),
37
39
  message('settings.section.shell', 'Shell'),
@@ -70,7 +72,7 @@ export const FRAME_I18N_CATALOG = {
70
72
  message('help.key.quit', 'Quit'),
71
73
  message('help.key.stay', 'Stay'),
72
74
  message('quit.title', 'Quit?'),
73
- message('quit.body', 'Quit this app?\n\nY quit • N stay'),
75
+ message('quit.body', 'Quit this app?'),
74
76
  message('quit.footer', 'Y quit • N stay'),
75
77
  message('mode.normal', 'NORMAL'),
76
78
  message('mode.palette', 'PALETTE'),
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-i18n.js","sourceRoot":"","sources":["../src/app-frame-i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-i18n.js","sourceRoot":"","sources":["../src/app-frame-i18n.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,30 @@
1
1
  import { type BijouContext, type PreparedPreferenceSection, type ResolvedTheme, type Surface } from '@flyingrobots/bijou';
2
2
  import type { I18nRuntime } from '@flyingrobots/bijou-i18n';
3
3
  import { type BindingSource } from './help.js';
4
- import type { CreateFramedAppOptions, FrameInputArea, FramePage, FrameSettingRow, FrameSettings, FrameShellTheme } from './app-frame.js';
4
+ import type { CreateFramedAppOptions, FrameInputArea, FramePage, FrameSettingRow, FrameSettings, FrameShellTheme, FrameShellThemeSpec } from './app-frame.js';
5
5
  import type { FrameAction, FramedAppMsg, InternalFrameModel } from './app-frame-types.js';
6
6
  import type { Overlay } from './overlay.js';
7
7
  import { type NotificationHistoryFilter, type NotificationState } from './notification.js';
8
8
  export declare const FRAME_SHELL_THEME_ROW_ID = "__frame-shell-theme__";
9
9
  type SettingsRowBehavior = 'cycle-shell-theme';
10
10
  export interface ResolvedFrameShellTheme {
11
+ /** Stable concrete choice id. Mode-aware entries use `familyId:modeId`. */
11
12
  readonly id: string;
13
+ /** Visible concrete choice label. */
12
14
  readonly label: string;
13
15
  readonly description?: string;
16
+ /** Selected concrete shell theme choice. */
14
17
  readonly shellTheme: FrameShellTheme;
18
+ /** Original shell theme spec that produced this choice. */
19
+ readonly shellThemeSpec: FrameShellThemeSpec;
20
+ /** Stable shell theme family id. */
21
+ readonly shellThemeId: string;
22
+ /** Visible shell theme family label. */
23
+ readonly shellThemeLabel: string;
24
+ /** Stable mode id, when this choice resolves a mode-aware shell theme. */
25
+ readonly modeId?: string;
26
+ /** Visible mode label, when this choice resolves a mode-aware shell theme. */
27
+ readonly modeLabel?: string;
15
28
  readonly resolvedTheme: ResolvedTheme;
16
29
  }
17
30
  interface FlatSettingsRow<Msg> {
@@ -59,6 +72,8 @@ export declare function isHelpScrollAction(action: FrameAction): action is Extra
59
72
  type: 'scroll-up' | 'scroll-down' | 'page-up' | 'page-down' | 'top' | 'bottom';
60
73
  }>;
61
74
  export declare function resolveShellThemeOptionsText(shellThemes: readonly ResolvedFrameShellTheme[], i18n: I18nRuntime | undefined): string;
75
+ export declare function frameShellThemeChoiceId(shellThemeId: string, modeId?: string): string;
76
+ export declare function resolveFrameShellThemeChoices(shellThemes: readonly FrameShellThemeSpec[], ctx: Pick<BijouContext, 'theme'>): readonly ResolvedFrameShellTheme[];
62
77
  export declare function resolveCurrentShellTheme(shellThemes: readonly ResolvedFrameShellTheme[], activeShellThemeId: string | undefined): ResolvedFrameShellTheme | undefined;
63
78
  export declare function resolveNextShellTheme(shellThemes: readonly ResolvedFrameShellTheme[], activeShellThemeId: string | undefined): ResolvedFrameShellTheme | undefined;
64
79
  export declare function resolveShellThemeForContext(shellThemes: readonly ResolvedFrameShellTheme[], ctx: BijouContext | undefined): ResolvedFrameShellTheme | undefined;