@flyingrobots/bijou-tui 4.4.1 → 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.
Files changed (203) hide show
  1. package/README.md +244 -21
  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 +55 -0
  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 +51 -0
  11. package/dist/app-frame-i18n.js.map +1 -1
  12. package/dist/app-frame-layers.d.ts +11 -1
  13. package/dist/app-frame-layers.d.ts.map +1 -1
  14. package/dist/app-frame-layers.js +19 -0
  15. package/dist/app-frame-layers.js.map +1 -1
  16. package/dist/app-frame-overlays.d.ts +82 -0
  17. package/dist/app-frame-overlays.d.ts.map +1 -0
  18. package/dist/app-frame-overlays.js +480 -0
  19. package/dist/app-frame-overlays.js.map +1 -0
  20. package/dist/app-frame-palette.d.ts.map +1 -1
  21. package/dist/app-frame-palette.js +36 -16
  22. package/dist/app-frame-palette.js.map +1 -1
  23. package/dist/app-frame-render.d.ts.map +1 -1
  24. package/dist/app-frame-render.js +16 -7
  25. package/dist/app-frame-render.js.map +1 -1
  26. package/dist/app-frame-types.d.ts +141 -5
  27. package/dist/app-frame-types.d.ts.map +1 -1
  28. package/dist/app-frame-types.js +17 -1
  29. package/dist/app-frame-types.js.map +1 -1
  30. package/dist/app-frame-utils.d.ts +3 -1
  31. package/dist/app-frame-utils.d.ts.map +1 -1
  32. package/dist/app-frame-utils.js +11 -5
  33. package/dist/app-frame-utils.js.map +1 -1
  34. package/dist/app-frame.d.ts +22 -86
  35. package/dist/app-frame.d.ts.map +1 -1
  36. package/dist/app-frame.js +475 -629
  37. package/dist/app-frame.js.map +1 -1
  38. package/dist/browsable-list.d.ts +12 -0
  39. package/dist/browsable-list.d.ts.map +1 -1
  40. package/dist/browsable-list.js +17 -6
  41. package/dist/browsable-list.js.map +1 -1
  42. package/dist/canvas.d.ts +11 -3
  43. package/dist/canvas.d.ts.map +1 -1
  44. package/dist/canvas.js +146 -13
  45. package/dist/canvas.js.map +1 -1
  46. package/dist/cell-glyph-fit.d.ts +20 -0
  47. package/dist/cell-glyph-fit.d.ts.map +1 -0
  48. package/dist/cell-glyph-fit.js +82 -0
  49. package/dist/cell-glyph-fit.js.map +1 -0
  50. package/dist/collection-surface.d.ts +8 -0
  51. package/dist/collection-surface.d.ts.map +1 -1
  52. package/dist/collection-surface.js +72 -8
  53. package/dist/collection-surface.js.map +1 -1
  54. package/dist/command-palette.d.ts +2 -0
  55. package/dist/command-palette.d.ts.map +1 -1
  56. package/dist/command-palette.js +36 -19
  57. package/dist/command-palette.js.map +1 -1
  58. package/dist/css/text-style.d.ts +2 -0
  59. package/dist/css/text-style.d.ts.map +1 -1
  60. package/dist/css/text-style.js +18 -8
  61. package/dist/css/text-style.js.map +1 -1
  62. package/dist/debug-overlay.d.ts +19 -0
  63. package/dist/debug-overlay.d.ts.map +1 -0
  64. package/dist/debug-overlay.js +25 -0
  65. package/dist/debug-overlay.js.map +1 -0
  66. package/dist/design-language.d.ts.map +1 -1
  67. package/dist/design-language.js +4 -5
  68. package/dist/design-language.js.map +1 -1
  69. package/dist/driver.d.ts +102 -0
  70. package/dist/driver.d.ts.map +1 -1
  71. package/dist/driver.js +259 -19
  72. package/dist/driver.js.map +1 -1
  73. package/dist/eventbus.d.ts +20 -0
  74. package/dist/eventbus.d.ts.map +1 -1
  75. package/dist/eventbus.js +47 -0
  76. package/dist/eventbus.js.map +1 -1
  77. package/dist/file-picker.d.ts.map +1 -1
  78. package/dist/file-picker.js +2 -2
  79. package/dist/file-picker.js.map +1 -1
  80. package/dist/flex.d.ts.map +1 -1
  81. package/dist/flex.js +6 -6
  82. package/dist/flex.js.map +1 -1
  83. package/dist/focus-area.d.ts +13 -4
  84. package/dist/focus-area.d.ts.map +1 -1
  85. package/dist/focus-area.js +56 -14
  86. package/dist/focus-area.js.map +1 -1
  87. package/dist/focus-map.d.ts +40 -0
  88. package/dist/focus-map.d.ts.map +1 -0
  89. package/dist/focus-map.js +133 -0
  90. package/dist/focus-map.js.map +1 -0
  91. package/dist/grid.d.ts +2 -2
  92. package/dist/grid.d.ts.map +1 -1
  93. package/dist/grid.js +11 -148
  94. package/dist/grid.js.map +1 -1
  95. package/dist/help.d.ts +2 -0
  96. package/dist/help.d.ts.map +1 -1
  97. package/dist/help.js +6 -4
  98. package/dist/help.js.map +1 -1
  99. package/dist/icon-presentation.d.ts +10 -0
  100. package/dist/icon-presentation.d.ts.map +1 -0
  101. package/dist/icon-presentation.js +12 -0
  102. package/dist/icon-presentation.js.map +1 -0
  103. package/dist/index.d.ts +32 -9
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +17 -5
  106. package/dist/index.js.map +1 -1
  107. package/dist/input-map.d.ts +68 -0
  108. package/dist/input-map.d.ts.map +1 -0
  109. package/dist/input-map.js +162 -0
  110. package/dist/input-map.js.map +1 -0
  111. package/dist/input-routing-inspector.d.ts +24 -0
  112. package/dist/input-routing-inspector.d.ts.map +1 -0
  113. package/dist/input-routing-inspector.js +76 -0
  114. package/dist/input-routing-inspector.js.map +1 -0
  115. package/dist/keybindings.d.ts.map +1 -1
  116. package/dist/keybindings.js +3 -0
  117. package/dist/keybindings.js.map +1 -1
  118. package/dist/layout-inspector.d.ts +31 -0
  119. package/dist/layout-inspector.d.ts.map +1 -0
  120. package/dist/layout-inspector.js +133 -0
  121. package/dist/layout-inspector.js.map +1 -0
  122. package/dist/layout-preset.d.ts +1 -1
  123. package/dist/layout-preset.d.ts.map +1 -1
  124. package/dist/motion/reconciler.d.ts +6 -2
  125. package/dist/motion/reconciler.d.ts.map +1 -1
  126. package/dist/motion/reconciler.js +40 -10
  127. package/dist/motion/reconciler.js.map +1 -1
  128. package/dist/motion/types.d.ts +3 -1
  129. package/dist/motion/types.d.ts.map +1 -1
  130. package/dist/navigable-table.d.ts +9 -10
  131. package/dist/navigable-table.d.ts.map +1 -1
  132. package/dist/navigable-table.js +33 -14
  133. package/dist/navigable-table.js.map +1 -1
  134. package/dist/notification.d.ts +15 -0
  135. package/dist/notification.d.ts.map +1 -1
  136. package/dist/notification.js +136 -34
  137. package/dist/notification.js.map +1 -1
  138. package/dist/overlay.d.ts.map +1 -1
  139. package/dist/overlay.js +40 -14
  140. package/dist/overlay.js.map +1 -1
  141. package/dist/pager.d.ts +3 -1
  142. package/dist/pager.d.ts.map +1 -1
  143. package/dist/pager.js +4 -0
  144. package/dist/pager.js.map +1 -1
  145. package/dist/pipeline/middleware/grayscale.d.ts.map +1 -1
  146. package/dist/pipeline/middleware/grayscale.js +5 -5
  147. package/dist/pipeline/middleware/grayscale.js.map +1 -1
  148. package/dist/pipeline/middleware/motion.d.ts.map +1 -1
  149. package/dist/pipeline/middleware/motion.js +4 -3
  150. package/dist/pipeline/middleware/motion.js.map +1 -1
  151. package/dist/pipeline/middleware/paint.d.ts.map +1 -1
  152. package/dist/pipeline/middleware/paint.js +2 -1
  153. package/dist/pipeline/middleware/paint.js.map +1 -1
  154. package/dist/pipeline/middleware/surface-shaders.d.ts +37 -0
  155. package/dist/pipeline/middleware/surface-shaders.d.ts.map +1 -0
  156. package/dist/pipeline/middleware/surface-shaders.js +164 -0
  157. package/dist/pipeline/middleware/surface-shaders.js.map +1 -0
  158. package/dist/pipeline/pipeline.d.ts +37 -2
  159. package/dist/pipeline/pipeline.d.ts.map +1 -1
  160. package/dist/pipeline/pipeline.js +121 -22
  161. package/dist/pipeline/pipeline.js.map +1 -1
  162. package/dist/raytrace.d.ts +59 -0
  163. package/dist/raytrace.d.ts.map +1 -0
  164. package/dist/raytrace.js +121 -0
  165. package/dist/raytrace.js.map +1 -0
  166. package/dist/runtime-binding.d.ts +59 -0
  167. package/dist/runtime-binding.d.ts.map +1 -0
  168. package/dist/runtime-binding.js +271 -0
  169. package/dist/runtime-binding.js.map +1 -0
  170. package/dist/runtime.d.ts +19 -0
  171. package/dist/runtime.d.ts.map +1 -1
  172. package/dist/runtime.js +222 -31
  173. package/dist/runtime.js.map +1 -1
  174. package/dist/split-pane.d.ts +2 -2
  175. package/dist/split-pane.d.ts.map +1 -1
  176. package/dist/split-pane.js +28 -49
  177. package/dist/split-pane.js.map +1 -1
  178. package/dist/subapp/mount.d.ts +17 -0
  179. package/dist/subapp/mount.d.ts.map +1 -1
  180. package/dist/subapp/mount.js +13 -0
  181. package/dist/subapp/mount.js.map +1 -1
  182. package/dist/surface-budget.d.ts +27 -0
  183. package/dist/surface-budget.d.ts.map +1 -0
  184. package/dist/surface-budget.js +61 -0
  185. package/dist/surface-budget.js.map +1 -0
  186. package/dist/surface-diff.d.ts +36 -0
  187. package/dist/surface-diff.d.ts.map +1 -0
  188. package/dist/surface-diff.js +202 -0
  189. package/dist/surface-diff.js.map +1 -0
  190. package/dist/surface-layout.d.ts +19 -3
  191. package/dist/surface-layout.d.ts.map +1 -1
  192. package/dist/surface-layout.js +42 -12
  193. package/dist/surface-layout.js.map +1 -1
  194. package/dist/types.d.ts +8 -0
  195. package/dist/types.d.ts.map +1 -1
  196. package/dist/types.js.map +1 -1
  197. package/dist/view-output.js +2 -2
  198. package/dist/view-output.js.map +1 -1
  199. package/dist/viewport.d.ts +13 -1
  200. package/dist/viewport.d.ts.map +1 -1
  201. package/dist/viewport.js +33 -11
  202. package/dist/viewport.js.map +1 -1
  203. package/package.json +4 -4
@@ -50,27 +50,40 @@ export function createCommandPaletteState(items, height = 10) {
50
50
  // Filtering
51
51
  // ---------------------------------------------------------------------------
52
52
  /**
53
- * Test whether an item matches a search query (case-insensitive substring).
53
+ * Score an item field for ranked, case-insensitive substring matching.
54
54
  *
55
- * Checks label, description, category, id, and shortcut fields.
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 matchesQuery(item, query) {
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
- if (item.label.toLowerCase().includes(q))
64
- return true;
65
- if (item.description?.toLowerCase().includes(q))
66
- return true;
67
- if (item.category?.toLowerCase().includes(q))
68
- return true;
69
- if (item.id.toLowerCase().includes(q))
70
- return true;
71
- if (item.shortcut?.toLowerCase().includes(q))
72
- return true;
73
- return false;
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.filter(item => matchesQuery(item, query));
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;AAsDlF,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAoC,EACpC,MAAM,GAAG,EAAE;IAEX,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,OAAO;QACL,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;KACV,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,IAAwB,EAAE,KAAa;IAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAA0B,EAAE,KAAa;IAChE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO;QACL,GAAG,KAAK;QACR,KAAK;QACL,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,UAAkB,EAAE,OAAe,EAAE,MAAc,EAAE,KAAa;IACtF,IAAI,CAAC,GAAG,OAAO,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC;QAAE,CAAC,GAAG,UAAU,CAAC;SAC9B,IAAI,UAAU,IAAI,CAAC,GAAG,MAAM;QAAE,CAAC,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;IACvE,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;IACpG,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAA0B;IACnD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrF,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAA0B;IACjD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA0B,EAC1B,OAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACzE,MAAM,KAAK,GAAa,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE;QACjD,YAAY;QACZ,YAAY;QACZ,GAAG;KACJ,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CACR,GAAG,SAAS;SACT,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;SAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAC3C,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,yBAAyB,CAChC,KAA0B,EAC1B,OAA6E;IAE7E,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAElE,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7D,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAA0B,EAC1B,OAAqC;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE;QAC/C,KAAK;QACL,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;QACjF,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,eAAe,CAAC;QAClC,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;QACjC,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;KAC9C,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,oBAAoB,CAAM,OAOzC;IACC,OAAO,YAAY,EAAO;SACvB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC1B,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;SAC9C,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;SAC5C,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC;SAClD,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC;SAC9C,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC;SAClD,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC;SACpD,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;SAC9C,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAChD;SACA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;SACvC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../src/command-palette.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { type BijouContext, type Surface } from '@flyingrobots/bijou';
2
2
  export interface StyledTextToken {
3
3
  hex?: string;
4
4
  bg?: string;
5
+ fgRGB?: readonly [number, number, number];
6
+ bgRGB?: readonly [number, number, number];
5
7
  modifiers?: string[];
6
8
  }
7
9
  export interface BCSSIdentity {
@@ -1 +1 @@
1
- {"version":3,"file":"text-style.d.ts","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGvG,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACnC,MAAM,EAAE,UAAU,GACjB,MAAM,EAAE,GAAG,SAAS,CAoCtB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,eAAe,CAOjB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,MAAM,CAcR;AA4DD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAUT"}
1
+ {"version":3,"file":"text-style.d.ts","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGxH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACnC,MAAM,EAAE,UAAU,GACjB,MAAM,EAAE,GAAG,SAAS,CAoCtB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,eAAe,CAWjB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,MAAM,CAkBR;AA8DD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAUT"}
@@ -1,4 +1,4 @@
1
- import { createSurface, segmentGraphemes } from '@flyingrobots/bijou';
1
+ import { createSurface, isPackedSurface, segmentGraphemes } from '@flyingrobots/bijou';
2
2
  import { parseHex, encodeModifiers } from '@flyingrobots/bijou/perf';
3
3
  export function mergeBCSSModifiers(base, styles) {
4
4
  const modifiers = new Set(base ?? []);
@@ -38,9 +38,13 @@ export function mergeBCSSModifiers(base, styles) {
38
38
  }
39
39
  export function resolveBCSSTextToken(ctx, identity, base = {}) {
40
40
  const styles = ctx.resolveBCSS(identity);
41
+ const hex = styles['color'] ?? base.hex;
42
+ const bg = styles['background'] ?? base.bg;
41
43
  return {
42
- hex: styles['color'] ?? base.hex,
43
- bg: styles['background'] ?? base.bg,
44
+ hex,
45
+ bg,
46
+ fgRGB: styles['color'] != null ? (hex ? parseHex(hex) : undefined) : base.fgRGB,
47
+ bgRGB: styles['background'] != null ? (bg ? parseHex(bg) : undefined) : base.bgRGB,
44
48
  modifiers: mergeBCSSModifiers(base.modifiers, styles),
45
49
  };
46
50
  }
@@ -48,9 +52,13 @@ export function styleTextWithBCSS(text, ctx, identity, base = {}) {
48
52
  if (!ctx)
49
53
  return text;
50
54
  const styles = ctx.resolveBCSS(identity);
55
+ const hex = styles['color'] ?? base.hex;
56
+ const bg = styles['background'] ?? base.bg;
51
57
  const token = {
52
- hex: styles['color'] ?? base.hex,
53
- bg: styles['background'] ?? base.bg,
58
+ hex,
59
+ bg,
60
+ fgRGB: styles['color'] != null ? (hex ? parseHex(hex) : undefined) : base.fgRGB,
61
+ bgRGB: styles['background'] != null ? (bg ? parseHex(bg) : undefined) : base.bgRGB,
54
62
  modifiers: mergeBCSSModifiers(base.modifiers, styles),
55
63
  };
56
64
  if (token.hex == null && token.bg == null && (token.modifiers == null || token.modifiers.length === 0)) {
@@ -81,15 +89,17 @@ function fillStyledText(surface, text, ctx, identity, base) {
81
89
  char: ' ',
82
90
  fg: token.hex,
83
91
  bg: token.bg,
92
+ fgRGB: token.fgRGB,
93
+ bgRGB: token.bgRGB,
84
94
  modifiers: token.modifiers,
85
95
  empty: false,
86
96
  });
87
97
  const graphemes = segmentGraphemes(text);
88
- const packed = 'buffer' in surface;
89
- const fg = packed && token.hex ? parseHex(token.hex) : undefined;
98
+ const packed = isPackedSurface(surface);
99
+ const fg = packed ? (token.fgRGB ?? (token.hex ? parseHex(token.hex) : undefined)) : undefined;
90
100
  if (fg) {
91
101
  const [fR, fG, fB] = fg;
92
- const bg = token.bg ? parseHex(token.bg) : undefined;
102
+ const bg = token.bgRGB ?? (token.bg ? parseHex(token.bg) : undefined);
93
103
  let bR = -1, bG = 0, bB = 0;
94
104
  if (bg) {
95
105
  bR = bg[0];
@@ -1 +1 @@
1
- {"version":3,"file":"text-style.js","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-style.js","sourceRoot":"","sources":["../../src/css/text-style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type PerfOverlayOptions, type PerfOverlayStats, type Surface } from '@flyingrobots/bijou';
2
+ export type DebugOverlayAnchor = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
3
+ export interface DebugOverlayOptions extends PerfOverlayOptions {
4
+ /** Corner anchor for the perf overlay. Defaults to `top-right`. */
5
+ readonly anchor?: DebugOverlayAnchor;
6
+ /** Margin from the chosen screen edges. Defaults to `1`. */
7
+ readonly margin?: number;
8
+ /** Dim the background surface before compositing the overlay. Defaults to `false`. */
9
+ readonly dimBackground?: boolean;
10
+ }
11
+ /**
12
+ * Composite a perf overlay onto an existing surface.
13
+ *
14
+ * This is the TUI convenience wrapper around `perfOverlaySurface()`: callers
15
+ * provide the background surface plus current perf stats, and the helper
16
+ * anchors the overlay into a corner without requiring shell-specific plumbing.
17
+ */
18
+ export declare function debugOverlay(background: Surface, stats: PerfOverlayStats, options?: DebugOverlayOptions): Surface;
19
+ //# sourceMappingURL=debug-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-overlay.d.ts","sourceRoot":"","sources":["../src/debug-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAE3F,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAMD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAkBT"}
@@ -0,0 +1,25 @@
1
+ import { perfOverlaySurface, } from '@flyingrobots/bijou';
2
+ import { compositeSurface } from './overlay.js';
3
+ function sanitizeOverlayMargin(value) {
4
+ return Math.max(0, Math.floor(value ?? 1));
5
+ }
6
+ /**
7
+ * Composite a perf overlay onto an existing surface.
8
+ *
9
+ * This is the TUI convenience wrapper around `perfOverlaySurface()`: callers
10
+ * provide the background surface plus current perf stats, and the helper
11
+ * anchors the overlay into a corner without requiring shell-specific plumbing.
12
+ */
13
+ export function debugOverlay(background, stats, options = {}) {
14
+ const { anchor = 'top-right', margin, dimBackground = false, ...perfOptions } = options;
15
+ const overlay = perfOverlaySurface(stats, perfOptions);
16
+ const safeMargin = sanitizeOverlayMargin(margin);
17
+ const row = anchor.startsWith('bottom')
18
+ ? Math.max(0, background.height - overlay.height - safeMargin)
19
+ : safeMargin;
20
+ const col = anchor.endsWith('right')
21
+ ? Math.max(0, background.width - overlay.width - safeMargin)
22
+ : safeMargin;
23
+ return compositeSurface(background, [{ content: '', row, col, surface: overlay }], { dim: dimBackground });
24
+ }
25
+ //# sourceMappingURL=debug-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-overlay.js","sourceRoot":"","sources":["../src/debug-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAahD,SAAS,qBAAqB,CAAC,KAAyB;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAmB,EACnB,KAAuB,EACvB,UAA+B,EAAE;IAEjC,MAAM,EACJ,MAAM,GAAG,WAAW,EACpB,MAAM,EACN,aAAa,GAAG,KAAK,EACrB,GAAG,WAAW,EACf,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;QAC9D,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5D,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;AAC7G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"design-language.d.ts","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,WAAW;IACtB,gDAAgD;;IAEhD,kEAAkE;;IAElE,qDAAqD;;IAErD,+CAA+C;;IAE/C,gDAAgD;;IAEhD,2DAA2D;;CAEnD,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAO1C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,CASR"}
1
+ {"version":3,"file":"design-language.d.ts","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,WAAW;IACtB,gDAAgD;;IAEhD,kEAAkE;;IAElE,qDAAqD;;IAErD,+CAA+C;;IAE/C,gDAAgD;;IAEhD,2DAA2D;;CAEnD,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAM1C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,CASR"}
@@ -25,16 +25,14 @@ export const COMPACT_VIEWPORT_WIDTH = 52;
25
25
  /** Height below which the viewport should be treated as compact. */
26
26
  export const COMPACT_VIEWPORT_HEIGHT = 16;
27
27
  function normalizeNonNegativeInt(value, fallback) {
28
- if (value == null || !Number.isFinite(value))
29
- return fallback;
30
- return Math.max(0, Math.floor(value));
28
+ return sanitizeNonNegativeInt(value, fallback);
31
29
  }
32
30
  /**
33
31
  * Decide whether a viewport should use compact overlay/layout defaults.
34
32
  */
35
33
  export function isCompactViewport(width, height) {
36
- return Math.floor(width) < COMPACT_VIEWPORT_WIDTH
37
- || Math.floor(height) < COMPACT_VIEWPORT_HEIGHT;
34
+ return sanitizeNonNegativeInt(width, 0) < COMPACT_VIEWPORT_WIDTH
35
+ || sanitizeNonNegativeInt(height, 0) < COMPACT_VIEWPORT_HEIGHT;
38
36
  }
39
37
  /**
40
38
  * Resolve the default edge inset for overlays and overlay-like UI.
@@ -67,4 +65,5 @@ export function clampCenteredPosition(totalSize, itemSize, preferredInset) {
67
65
  }
68
66
  return Math.max(0, Math.min(max, centered));
69
67
  }
68
+ import { sanitizeNonNegativeInt } from '@flyingrobots/bijou';
70
69
  //# sourceMappingURL=design-language.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-language.js","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,CAAC;IACP,kEAAkE;IAClE,MAAM,EAAE,CAAC;IACT,qDAAqD;IACrD,SAAS,EAAE,CAAC;IACZ,+CAA+C;IAC/C,aAAa,EAAE,CAAC;IAChB,gDAAgD;IAChD,oBAAoB,EAAE,CAAC;IACvB,2DAA2D;IAC3D,eAAe,EAAE,CAAC;CACV,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,SAAS,uBAAuB,CAAC,KAAyB,EAAE,QAAgB;IAC1E,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAc;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,sBAAsB;WAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,uBAAuB,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,MAAc,EACd,MAAe;IAEf,OAAO,uBAAuB,CAC5B,MAAM,EACN,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9B,CAAC,CAAC,WAAW,CAAC,oBAAoB;QAClC,CAAC,CAAC,WAAW,CAAC,aAAa,CAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,QAAgB,EAChB,cAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IAE9C,IAAI,GAAG,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"design-language.js","sourceRoot":"","sources":["../src/design-language.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gDAAgD;IAChD,IAAI,EAAE,CAAC;IACP,kEAAkE;IAClE,MAAM,EAAE,CAAC;IACT,qDAAqD;IACrD,SAAS,EAAE,CAAC;IACZ,+CAA+C;IAC/C,aAAa,EAAE,CAAC;IAChB,gDAAgD;IAChD,oBAAoB,EAAE,CAAC;IACvB,2DAA2D;IAC3D,eAAe,EAAE,CAAC;CACV,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,SAAS,uBAAuB,CAAC,KAAyB,EAAE,QAAgB;IAC1E,OAAO,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAc;IAC7D,OAAO,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,sBAAsB;WAC3D,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,uBAAuB,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,MAAc,EACd,MAAe;IAEf,OAAO,uBAAuB,CAC5B,MAAM,EACN,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9B,CAAC,CAAC,WAAW,CAAC,oBAAoB;QAClC,CAAC,CAAC,WAAW,CAAC,aAAa,CAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,QAAgB,EAChB,cAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;IAE9C,IAAI,GAAG,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9C,CAAC;AACD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/driver.d.ts CHANGED
@@ -16,6 +16,7 @@
16
16
  * ```
17
17
  */
18
18
  import type { App, RunOptions, MouseMsg } from './types.js';
19
+ import { type BusMsg } from './eventbus.js';
19
20
  import { type Surface } from '@flyingrobots/bijou';
20
21
  /** A single step in a scripted interaction sequence. */
21
22
  export type ScriptStep<M = never> = {
@@ -69,6 +70,107 @@ export interface RunScriptResult<Model> {
69
70
  /** Total elapsed time in milliseconds. */
70
71
  elapsed: number;
71
72
  }
73
+ /** Options for {@link testRuntime}. */
74
+ export interface TestRuntimeOptions extends RunScriptOptions {
75
+ }
76
+ /** Final outcome recorded for a command observed by {@link testRuntime}. */
77
+ export type TestRuntimeCommandResolution = 'pending' | 'message' | 'quit' | 'cleanup' | 'void' | 'rejected';
78
+ /**
79
+ * Recorded command behavior captured by a {@link TestHarness}.
80
+ *
81
+ * `emitted` contains messages pushed through the command's `emit()` callback,
82
+ * while `result` records the command's final return value when it settles.
83
+ */
84
+ export interface TestRuntimeCommandRecord<M> {
85
+ /** Stable id assigned in runtime execution order. */
86
+ readonly id: number;
87
+ /** Whether the command originated from `init()` or an `update()` turn. */
88
+ readonly source: 'init' | 'update';
89
+ /** Index into {@link TestHarness.messages} for update-triggered commands. */
90
+ readonly triggerIndex: number | null;
91
+ /** Messages emitted incrementally through `emit(msg)`. */
92
+ readonly emitted: readonly M[];
93
+ /** How the command ultimately settled. */
94
+ readonly resolution: TestRuntimeCommandResolution;
95
+ /** Final returned value when the command settled with a value or error. */
96
+ readonly result?: M | unknown;
97
+ /** Whether runtime teardown disposed the command's cleanup handle. */
98
+ readonly cleanedUp: boolean;
99
+ /** Whether the command has finished executing. */
100
+ readonly settled: boolean;
101
+ }
102
+ /**
103
+ * Render/model checkpoint captured by a {@link TestHarness}.
104
+ *
105
+ * The initial snapshot is recorded after `init()` renders. Later snapshots are
106
+ * recorded after each handled message.
107
+ */
108
+ export interface TestRuntimeSnapshot<Model, M> {
109
+ /** Zero-based snapshot index. */
110
+ readonly index: number;
111
+ /** Whether this frame came from initial render or an update turn. */
112
+ readonly cause: 'init' | 'update';
113
+ /** Message that triggered the update render, when applicable. */
114
+ readonly message?: BusMsg<M>;
115
+ /** Model value visible to the view at this snapshot. */
116
+ readonly model: Model;
117
+ /** Normalized rendered frame. */
118
+ readonly frame: Surface;
119
+ }
120
+ /**
121
+ * Interactive test harness for a TEA runtime.
122
+ *
123
+ * Provides direct assertions on snapshots, handled messages, command
124
+ * resolution, and cleanup disposal without reaching into `EventBus` internals.
125
+ */
126
+ export interface TestHarness<Model, M> {
127
+ /** Latest model state. */
128
+ readonly model: Model;
129
+ /** Latest rendered frame. */
130
+ readonly frame: Surface;
131
+ /** All rendered frames in order, including the initial render. */
132
+ readonly frames: readonly Surface[];
133
+ /** Recorded render/model checkpoints. */
134
+ readonly snapshots: readonly TestRuntimeSnapshot<Model, M>[];
135
+ /** All handled runtime messages in delivery order. */
136
+ readonly messages: readonly BusMsg<M>[];
137
+ /** Custom messages emitted or returned by commands. */
138
+ readonly emittedMessages: readonly M[];
139
+ /** Recorded command lifecycle outcomes. */
140
+ readonly commands: readonly TestRuntimeCommandRecord<M>[];
141
+ /** Milliseconds elapsed on the active runtime clock. */
142
+ readonly elapsed: number;
143
+ /** Whether the harness is still accepting steps. */
144
+ readonly running: boolean;
145
+ /** Return the latest snapshot. */
146
+ snapshot(): TestRuntimeSnapshot<Model, M>;
147
+ /** Wait until in-flight commands settle. */
148
+ settle(): Promise<TestRuntimeSnapshot<Model, M>>;
149
+ /** Feed a single scripted step through the runtime. */
150
+ step(step: ScriptStep<M>): Promise<TestRuntimeSnapshot<Model, M>>;
151
+ /** Feed multiple scripted steps through the runtime. */
152
+ run(steps: ScriptStep<M>[]): Promise<TestRuntimeSnapshot<Model, M>>;
153
+ /** Emit a key step. */
154
+ press(key: string, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
155
+ /** Emit a resize step. */
156
+ resize(columns: number, rows: number, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
157
+ /** Emit a pulse step. */
158
+ pulse(dt: number, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
159
+ /** Emit a mouse step. */
160
+ mouse(message: MouseMsg, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
161
+ /** Emit a custom application message directly. */
162
+ emit(msg: M, delay?: number): Promise<TestRuntimeSnapshot<Model, M>>;
163
+ /** Stop the runtime and dispose retained command cleanups. */
164
+ teardown(): Promise<void>;
165
+ }
166
+ /**
167
+ * Start a TEA app inside an inspectable test harness.
168
+ *
169
+ * The harness renders the initial frame, settles init commands, and then lets
170
+ * callers feed steps one at a time while asserting against snapshots, handled
171
+ * messages, command outcomes, and cleanup disposal.
172
+ */
173
+ export declare function testRuntime<Model, M>(app: App<Model, M>, options?: TestRuntimeOptions): Promise<TestHarness<Model, M>>;
72
174
  /**
73
175
  * Run a TEA app with a scripted key sequence.
74
176
  *
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAa,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvE,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,2BAA2B;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,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,CA6GjC"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"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"}