@flyingrobots/bijou-tui 4.4.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +92 -20
  2. package/dist/app-frame-actions.d.ts.map +1 -1
  3. package/dist/app-frame-actions.js +2 -0
  4. package/dist/app-frame-actions.js.map +1 -1
  5. package/dist/app-frame-i18n.d.ts.map +1 -1
  6. package/dist/app-frame-i18n.js +49 -0
  7. package/dist/app-frame-i18n.js.map +1 -1
  8. package/dist/app-frame-layers.d.ts +11 -1
  9. package/dist/app-frame-layers.d.ts.map +1 -1
  10. package/dist/app-frame-layers.js +19 -0
  11. package/dist/app-frame-layers.js.map +1 -1
  12. package/dist/app-frame-overlays.d.ts +82 -0
  13. package/dist/app-frame-overlays.d.ts.map +1 -0
  14. package/dist/app-frame-overlays.js +480 -0
  15. package/dist/app-frame-overlays.js.map +1 -0
  16. package/dist/app-frame-render.js +2 -2
  17. package/dist/app-frame-render.js.map +1 -1
  18. package/dist/app-frame-types.d.ts +119 -5
  19. package/dist/app-frame-types.d.ts.map +1 -1
  20. package/dist/app-frame-types.js +17 -1
  21. package/dist/app-frame-types.js.map +1 -1
  22. package/dist/app-frame-utils.d.ts.map +1 -1
  23. package/dist/app-frame-utils.js +6 -5
  24. package/dist/app-frame-utils.js.map +1 -1
  25. package/dist/app-frame.d.ts +18 -84
  26. package/dist/app-frame.d.ts.map +1 -1
  27. package/dist/app-frame.js +377 -625
  28. package/dist/app-frame.js.map +1 -1
  29. package/dist/browsable-list.d.ts +12 -0
  30. package/dist/browsable-list.d.ts.map +1 -1
  31. package/dist/browsable-list.js +17 -6
  32. package/dist/browsable-list.js.map +1 -1
  33. package/dist/canvas.d.ts.map +1 -1
  34. package/dist/canvas.js +27 -7
  35. package/dist/canvas.js.map +1 -1
  36. package/dist/collection-surface.d.ts +8 -0
  37. package/dist/collection-surface.d.ts.map +1 -1
  38. package/dist/collection-surface.js +72 -8
  39. package/dist/collection-surface.js.map +1 -1
  40. package/dist/css/text-style.d.ts +2 -0
  41. package/dist/css/text-style.d.ts.map +1 -1
  42. package/dist/css/text-style.js +18 -8
  43. package/dist/css/text-style.js.map +1 -1
  44. package/dist/debug-overlay.d.ts +19 -0
  45. package/dist/debug-overlay.d.ts.map +1 -0
  46. package/dist/debug-overlay.js +25 -0
  47. package/dist/debug-overlay.js.map +1 -0
  48. package/dist/design-language.d.ts.map +1 -1
  49. package/dist/design-language.js +4 -5
  50. package/dist/design-language.js.map +1 -1
  51. package/dist/driver.d.ts +102 -0
  52. package/dist/driver.d.ts.map +1 -1
  53. package/dist/driver.js +259 -19
  54. package/dist/driver.js.map +1 -1
  55. package/dist/file-picker.d.ts.map +1 -1
  56. package/dist/file-picker.js +2 -2
  57. package/dist/file-picker.js.map +1 -1
  58. package/dist/flex.d.ts.map +1 -1
  59. package/dist/flex.js +6 -6
  60. package/dist/flex.js.map +1 -1
  61. package/dist/focus-area.d.ts +9 -1
  62. package/dist/focus-area.d.ts.map +1 -1
  63. package/dist/focus-area.js +52 -11
  64. package/dist/focus-area.js.map +1 -1
  65. package/dist/grid.d.ts +2 -2
  66. package/dist/grid.d.ts.map +1 -1
  67. package/dist/grid.js +11 -148
  68. package/dist/grid.js.map +1 -1
  69. package/dist/help.d.ts +2 -0
  70. package/dist/help.d.ts.map +1 -1
  71. package/dist/help.js +6 -4
  72. package/dist/help.js.map +1 -1
  73. package/dist/icon-presentation.d.ts +10 -0
  74. package/dist/icon-presentation.d.ts.map +1 -0
  75. package/dist/icon-presentation.js +12 -0
  76. package/dist/icon-presentation.js.map +1 -0
  77. package/dist/index.d.ts +14 -8
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +7 -5
  80. package/dist/index.js.map +1 -1
  81. package/dist/layout-preset.d.ts +1 -1
  82. package/dist/layout-preset.d.ts.map +1 -1
  83. package/dist/motion/reconciler.d.ts +6 -2
  84. package/dist/motion/reconciler.d.ts.map +1 -1
  85. package/dist/motion/reconciler.js +40 -10
  86. package/dist/motion/reconciler.js.map +1 -1
  87. package/dist/motion/types.d.ts +3 -1
  88. package/dist/motion/types.d.ts.map +1 -1
  89. package/dist/navigable-table.d.ts +9 -10
  90. package/dist/navigable-table.d.ts.map +1 -1
  91. package/dist/navigable-table.js +33 -14
  92. package/dist/navigable-table.js.map +1 -1
  93. package/dist/notification.d.ts +15 -0
  94. package/dist/notification.d.ts.map +1 -1
  95. package/dist/notification.js +98 -29
  96. package/dist/notification.js.map +1 -1
  97. package/dist/overlay.d.ts.map +1 -1
  98. package/dist/overlay.js +40 -14
  99. package/dist/overlay.js.map +1 -1
  100. package/dist/pager.d.ts +3 -1
  101. package/dist/pager.d.ts.map +1 -1
  102. package/dist/pager.js +4 -0
  103. package/dist/pager.js.map +1 -1
  104. package/dist/pipeline/middleware/grayscale.d.ts.map +1 -1
  105. package/dist/pipeline/middleware/grayscale.js +5 -5
  106. package/dist/pipeline/middleware/grayscale.js.map +1 -1
  107. package/dist/pipeline/middleware/motion.js +2 -2
  108. package/dist/pipeline/middleware/motion.js.map +1 -1
  109. package/dist/pipeline/middleware/surface-shaders.d.ts +37 -0
  110. package/dist/pipeline/middleware/surface-shaders.d.ts.map +1 -0
  111. package/dist/pipeline/middleware/surface-shaders.js +164 -0
  112. package/dist/pipeline/middleware/surface-shaders.js.map +1 -0
  113. package/dist/pipeline/pipeline.d.ts +29 -1
  114. package/dist/pipeline/pipeline.d.ts.map +1 -1
  115. package/dist/pipeline/pipeline.js +86 -23
  116. package/dist/pipeline/pipeline.js.map +1 -1
  117. package/dist/runtime.d.ts +19 -0
  118. package/dist/runtime.d.ts.map +1 -1
  119. package/dist/runtime.js +183 -30
  120. package/dist/runtime.js.map +1 -1
  121. package/dist/split-pane.d.ts +2 -2
  122. package/dist/split-pane.d.ts.map +1 -1
  123. package/dist/split-pane.js +28 -49
  124. package/dist/split-pane.js.map +1 -1
  125. package/dist/subapp/mount.d.ts +17 -0
  126. package/dist/subapp/mount.d.ts.map +1 -1
  127. package/dist/subapp/mount.js +13 -0
  128. package/dist/subapp/mount.js.map +1 -1
  129. package/dist/surface-layout.d.ts +8 -3
  130. package/dist/surface-layout.d.ts.map +1 -1
  131. package/dist/surface-layout.js +27 -12
  132. package/dist/surface-layout.js.map +1 -1
  133. package/dist/view-output.js +2 -2
  134. package/dist/view-output.js.map +1 -1
  135. package/dist/viewport.d.ts +13 -1
  136. package/dist/viewport.d.ts.map +1 -1
  137. package/dist/viewport.js +33 -11
  138. package/dist/viewport.js.map +1 -1
  139. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtE,SAAS,gBAAgB,CAAC,GAAY;IACpC,OAAO,OAAO,GAAG,KAAK,QAAQ;WACzB,GAAG,KAAK,IAAI;WACZ,MAAM,IAAI,GAAG;WACZ,GAA0B,CAAC,IAAI,KAAK,gBAAgB;WACrD,KAAK,IAAI,GAAG;QACf,CAAC,CAAE,GAAkD,CAAC,GAAG;QACzD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ;WACzB,GAAG,KAAK,IAAI;WACZ,MAAM,IAAI,GAAG;WACZ,GAA0B,CAAC,IAAI,KAAK,gBAAgB;WACrD,KAAK,IAAI,GAAG;QACf,CAAC,CAAE,GAAuB,CAAC,GAAG;QAC9B,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AACD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAqF/D,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E,0DAA0D;AAC1D,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,QAAQ,EAAE,IAAI;IAClB,EAAE,EAAE,QAAQ,EAAE,IAAI;IAClB,EAAE,EAAE,QAAQ,EAAE,IAAI;IAClB,EAAE,EAAE,QAAQ,EAAE,IAAI;IAClB,CAAC,EAAE,QAAQ,EAAG,IAAI;IAClB,CAAC,EAAE,QAAQ,EAAG,IAAI;CACnB,CAAC;AAEF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,WAAmB,EAAE,GAAW;IAClE,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,IAAI,GAAG,KAAK,IAAI,GAAG;QACvB,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,KAAK,CAAC,CAAC;IAEzD,OAAO,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;AAC5D,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CACvB,UAAkB,EAClB,QAA4B,EAC5B,OAA0B;IAE1B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YAClC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM;gBAAE,SAAS;YAC3D,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAmB,EACnB,QAA4B,EAC5B,OAA0B;IAE1B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAmB,EACnB,MAAe,EACf,QAA4B,EAC5B,OAA0B;IAE1B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,yDAAyD;YACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC;gBAC5B,IAAI,GAAG,CAAC,GAAG,GAAG,SAAS,CAAE,GAAG,UAAU;oBAAE,SAAS;gBACjD,mCAAmC;gBACnC,IAAI,GAAG,CAAC,GAAG,CAAE,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAE,KAAK,CAAC;oBAAE,SAAS;gBACxD,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,CAAE,GAAG,QAAQ,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;wBAAE,SAAS;oBAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,SAAS,cAAc,CAAC,KAA6B,EAAE,GAA6B;IAClF,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAc;QACvB,EAAE,EAAE,KAAK,CAAC,GAAG;QACb,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC;IACF,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3C,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA6B,EAAE,GAA6B;IAC5F,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,KAAK,GAAc,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAe,EAAE,KAAgB;IACpD,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;IAC/B,OAAO;QACL,EAAE;QACF,EAAE;QACF,6DAA6D;QAC7D,6DAA6D;QAC7D,6DAA6D;QAC7D,8DAA8D;QAC9D,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACnE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACnE,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB,EAAE,GAA6B;IAChF,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,IAAY,EAAE,KAAgB,EAAE,QAAiG;IAC9L,IAAI,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,IAAY,EAAE,KAAgB,EAAE,QAAiG;IAClM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;QAC5E,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,QAAmB,EAAE;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QACtF,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,uCAAuC;IACvC,IAAI,EAAsG,CAAC;IAC3G,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjG,IAAI,KAAK,EAAE,CAAC;YAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;QAAC,CAAC;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjG,IAAI,KAAK,EAAE,CAAC;YAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;QAAC,CAAC;QACpC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,KAAK;YAAE,MAAM;QACtB,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAa,EAAE,KAAsC;IACxF,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5B,sDAAsD;IACtD,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,aAAa;QACvB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,aAAa,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;QAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC;YAC5B,IAAI,GAAG,CAAC,GAAG,GAAG,SAAS,CAAE,GAAG,UAAU;gBAAE,SAAS;YACjD,IAAI,GAAG,CAAC,GAAG,GAAG,SAAS,CAAE,GAAG,WAAW;gBAAE,SAAS;YAClD,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAC3D,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,CAAE,GAAG,WAAW,CAAC;QAC7D,CAAC;QACD,aAAa,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK;YAAE,SAAS;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;YACf,GAAG,IAAI;YACP,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;YAChC,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB,EAAE,QAAiB;IACtD,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAChG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,OAAuB,EAAE,QAAiB;IAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAyB,EACzB,WAAsB,EACtB,SAAoB,EACpB,kBAA2B;IAE3B,MAAM,UAAU,GAAG,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACxF,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAE7D,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACjG,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACjF,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,OAAqB;IACzC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEtE,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAElC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAC9B,KAAK,EACL,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EACxC,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAC9C,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnE,CAAC;IACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEtE,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACjF,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,uDAAuD;AACvD,MAAM,WAAW,GAAiC;IAChD,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC9C,KAAK,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAI,IAAI;IAC9C,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAK,IAAI;CAC/C,CAAC;AAEF,0DAA0D;AAC1D,MAAM,YAAY,GAA0D;IAC1E,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,OAAqB;IACzC,MAAM,EACJ,OAAO,EACP,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,cAAc,EACvB,WAAW,EACX,YAAY,EACZ,MAAM,EACN,GAAG,GACJ,GAAG,OAAO,CAAC;IACZ,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/E,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,gBAAgB,CAC9B,CAAC,IAAI,CAAC,EACN,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,EACvD,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAC/C,CAAC;IAEF,IAAI,GAAW,CAAC;IAChB,IAAI,GAAW,CAAC;IAEhB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,GAAG,GAAG,cAAc,CAAC;YACrB,GAAG,GAAG,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;YACnD,MAAM;QACR,KAAK,cAAc;YACjB,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;YACrD,GAAG,GAAG,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;YACnD,MAAM;QACR,KAAK,aAAa;YAChB,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;YACrD,GAAG,GAAG,cAAc,CAAC;YACrB,MAAM;QACR,KAAK,UAAU;YACb,GAAG,GAAG,cAAc,CAAC;YACrB,GAAG,GAAG,cAAc,CAAC;YACrB,MAAM;IACV,CAAC;IAED,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvB,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACjF,CAAC;AA6DD,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,KAAK,EACL,GAAG,GACJ,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,gCAAgC;IAE3E,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACjF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/E,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,IAAI,CAAC;YAAE,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;gBAAE,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,IAAI,CAAC;YAAE,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAE5E,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC;QAChD,OAAO;QACP,GAAG;QACH,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,uBAAuB,CAC9B,OAAsB,EACtB,MAAkB;IAElB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,GAAG,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,KAAK,KAAK;YAC1B,CAAC,CAAC,MAAM,CAAC,GAAG;YACZ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;IACzC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,GAAG,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM;YAC3B,CAAC,CAAC,MAAM,CAAC,GAAG;YACZ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,wCAAwC;AACxC,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,mFAAmF;AACnF,SAAS,WAAW,CAAC,MAA8B,EAAE,WAAmB,EAAE,YAAoB;IAC5F,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC;IAExC,OAAO;QACL,GAAG;QACH,GAAG;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAiCD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC7C,MAAM,EACJ,OAAO,EACP,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,SAAS,EACd,SAAS,GAAG,KAAK,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,OAAO,EACP,GAAG,GACJ,GAAG,OAAO,CAAC;IAEZ,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,gBAAgB,CAC9B,KAAK,EACL,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,EAChC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CACvC,CAAC;IAEF,IAAI,MAAc,CAAC;IACnB,IAAI,MAAc,CAAC;IAEnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;YACnC,MAAM;QACR,KAAK,OAAO;YACV,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACvB,MAAM;IACV,CAAC;IAED,yBAAyB;IACzB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpE,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
package/dist/pager.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  * ```
18
18
  */
19
19
  import { type Surface } from '@flyingrobots/bijou';
20
- import { type ScrollState } from './viewport.js';
20
+ import { type ScrollbarMode, type ScrollState } from './viewport.js';
21
21
  import { type KeyMap } from './keybindings.js';
22
22
  /** Immutable state for the pager widget. */
23
23
  export interface PagerState {
@@ -43,6 +43,8 @@ export interface PagerOptions {
43
43
  export interface PagerRenderOptions {
44
44
  /** Show a scrollbar track on the right edge. Default: true. */
45
45
  readonly showScrollbar?: boolean;
46
+ /** Reserve a gutter column or overlay the rightmost content cell. Default: `'gutter'`. */
47
+ readonly scrollbarMode?: ScrollbarMode;
46
48
  /** Show a "Line N/M" status line below the viewport. Default: true. */
47
49
  readonly showStatus?: boolean;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pager.d.ts","sourceRoot":"","sources":["../src/pager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkC,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EACL,KAAK,WAAW,EAUjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM7D,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CASlE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GACrC,UAAU,CAgBZ;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAS9E;AAMD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CA4B7E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CA+BT;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE;IACxC,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;CACX,GAAG,MAAM,CAAC,GAAG,CAAC,CAgBd"}
1
+ {"version":3,"file":"pager.d.ts","sourceRoot":"","sources":["../src/pager.ts"],"names":[],"mappings":"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"}
package/dist/pager.js CHANGED
@@ -152,6 +152,7 @@ export function pagerSetContent(state, content) {
152
152
  */
153
153
  export function pager(state, options) {
154
154
  const showScrollbar = options?.showScrollbar ?? true;
155
+ const scrollbarMode = options?.scrollbarMode ?? 'gutter';
155
156
  const showStatus = options?.showStatus ?? true;
156
157
  const viewportHeight = showStatus
157
158
  ? Math.max(1, state.height - 1)
@@ -166,6 +167,7 @@ export function pager(state, options) {
166
167
  content: state.content,
167
168
  scrollY: clampedY,
168
169
  showScrollbar,
170
+ scrollbarMode,
169
171
  });
170
172
  if (!showStatus)
171
173
  return body;
@@ -183,6 +185,7 @@ export function pager(state, options) {
183
185
  */
184
186
  export function pagerSurface(content, state, options) {
185
187
  const showScrollbar = options?.showScrollbar ?? true;
188
+ const scrollbarMode = options?.scrollbarMode ?? 'gutter';
186
189
  const showStatus = options?.showStatus ?? true;
187
190
  const safeWidth = Math.max(0, Math.floor(state.width));
188
191
  const safeHeight = Math.max(0, Math.floor(state.height));
@@ -199,6 +202,7 @@ export function pagerSurface(content, state, options) {
199
202
  content,
200
203
  scrollY: clampedY,
201
204
  showScrollbar,
205
+ scrollbarMode,
202
206
  });
203
207
  if (!showStatus)
204
208
  return body;
package/dist/pager.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pager.js","sourceRoot":"","sources":["../src/pager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pager.js","sourceRoot":"","sources":["../src/pager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grayscale.d.ts","sourceRoot":"","sources":["../../../src/pipeline/middleware/grayscale.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,CAYlD"}
1
+ {"version":3,"file":"grayscale.d.ts","sourceRoot":"","sources":["../../../src/pipeline/middleware/grayscale.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,CAYlD"}
@@ -1,7 +1,5 @@
1
+ import { isPackedSurface } from '@flyingrobots/bijou';
1
2
  import { CELL_STRIDE, OFF_FG_R, OFF_BG_R, OFF_ALPHA, FLAG_FG_SET, FLAG_BG_SET } from '@flyingrobots/bijou/perf';
2
- function isPackedSurface(s) {
3
- return 'buffer' in s && s.buffer instanceof Uint8Array;
4
- }
5
3
  /**
6
4
  * Creates a post-processing middleware that converts all colors in the
7
5
  * target surface to grayscale luminance values.
@@ -66,8 +64,10 @@ function grayscaleCellFallback(surface) {
66
64
  for (let y = 0; y < surface.height; y++) {
67
65
  for (let x = 0; x < surface.width; x++) {
68
66
  const cell = surface.get(x, y);
69
- const newFg = cell.fg ? hexToGrayscale(cell.fg) : undefined;
70
- const newBg = cell.bg ? hexToGrayscale(cell.bg) : undefined;
67
+ const fgHex = typeof cell.fg === 'string' ? cell.fg : cell.fg?.hex;
68
+ const bgHex = typeof cell.bg === 'string' ? cell.bg : cell.bg?.hex;
69
+ const newFg = fgHex ? hexToGrayscale(fgHex) : undefined;
70
+ const newBg = bgHex ? hexToGrayscale(bgHex) : undefined;
71
71
  if (newFg !== cell.fg || newBg !== cell.bg) {
72
72
  surface.set(x, y, { ...cell, fg: newFg, bg: newBg });
73
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grayscale.js","sourceRoot":"","sources":["../../../src/pipeline/middleware/grayscale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grayscale.js","sourceRoot":"","sources":["../../../src/pipeline/middleware/grayscale.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ const reconciler = new MotionReconciler();
5
5
  */
6
6
  export function motionMiddleware() {
7
7
  return (state, next) => {
8
- const { dt } = state;
8
+ const { ctx, dt } = state;
9
9
  // We assume the Layout pass has already populated targetSurface
10
10
  // with a LayoutNode tree if it's not a raw Surface.
11
11
  // In our simplified V3, App.view might return a LayoutNode.
12
12
  const root = state.layoutRoot;
13
13
  if (root) {
14
- reconciler.reconcile(root, dt);
14
+ reconciler.reconcile(root, dt, ctx.io);
15
15
  }
16
16
  next();
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/pipeline/middleware/motion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;QAErB,iEAAiE;QACjE,oDAAoD;QACpD,4DAA4D;QAE5D,MAAM,IAAI,GAAI,KAAa,CAAC,UAAoC,CAAC;QACjE,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/pipeline/middleware/motion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;QAE1B,iEAAiE;QACjE,oDAAoD;QACpD,4DAA4D;QAE5D,MAAM,IAAI,GAAI,KAAa,CAAC,UAAoC,CAAC;QACjE,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type Surface } from '@flyingrobots/bijou';
2
+ import type { RenderMiddleware } from '../pipeline.js';
3
+ export interface SurfaceShaderContext {
4
+ readonly frame: number;
5
+ readonly dt: number;
6
+ readonly width: number;
7
+ readonly height: number;
8
+ }
9
+ export type SurfaceShader = (surface: Surface, context: SurfaceShaderContext) => void;
10
+ export interface ScanlinesShaderOptions {
11
+ /** Brightness multiplier applied to dimmed rows. */
12
+ readonly dimFactor?: number;
13
+ /** Whether the first row stays bright and the second row dims. */
14
+ readonly startBright?: boolean;
15
+ }
16
+ export interface FlickerShaderOptions {
17
+ /** Minimum frame-wide brightness multiplier. */
18
+ readonly minFactor?: number;
19
+ /** Maximum frame-wide brightness multiplier. */
20
+ readonly maxFactor?: number;
21
+ }
22
+ export interface NoiseShaderOptions {
23
+ /** Maximum per-cell brightness variance around 1.0. */
24
+ readonly intensity?: number;
25
+ }
26
+ export interface VignetteShaderOptions {
27
+ /** Brightness multiplier applied at the outermost edge. */
28
+ readonly edgeFactor?: number;
29
+ /** Curve shaping factor for the edge falloff. */
30
+ readonly exponent?: number;
31
+ }
32
+ export declare function surfaceShaderFilter(...shaders: readonly SurfaceShader[]): RenderMiddleware;
33
+ export declare function scanlines(options?: ScanlinesShaderOptions): SurfaceShader;
34
+ export declare function flicker(options?: FlickerShaderOptions): SurfaceShader;
35
+ export declare function noise(options?: NoiseShaderOptions): SurfaceShader;
36
+ export declare function vignette(options?: VignetteShaderOptions): SurfaceShader;
37
+ //# sourceMappingURL=surface-shaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-shaders.d.ts","sourceRoot":"","sources":["../../../src/pipeline/middleware/surface-shaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AASxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,oBAAoB,KAC1B,IAAI,CAAC;AAEV,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CACjC,GAAG,OAAO,EAAE,SAAS,aAAa,EAAE,GACnC,gBAAgB,CAsBlB;AAED,wBAAgB,SAAS,CACvB,OAAO,GAAE,sBAA2B,GACnC,aAAa,CAUf;AAED,wBAAgB,OAAO,CACrB,OAAO,GAAE,oBAAyB,GACjC,aAAa,CASf;AAED,wBAAgB,KAAK,CACnB,OAAO,GAAE,kBAAuB,GAC/B,aAAa,CASf;AAED,wBAAgB,QAAQ,CACtB,OAAO,GAAE,qBAA0B,GAClC,aAAa,CAef"}
@@ -0,0 +1,164 @@
1
+ import { isPackedSurface } from '@flyingrobots/bijou';
2
+ import { CELL_STRIDE, FLAG_BG_SET, FLAG_FG_SET, OFF_ALPHA, OFF_BG_R, OFF_FG_R, } from '@flyingrobots/bijou/perf';
3
+ export function surfaceShaderFilter(...shaders) {
4
+ let frame = 0;
5
+ return (state, next) => {
6
+ if (shaders.length === 0) {
7
+ next();
8
+ return;
9
+ }
10
+ frame += 1;
11
+ const context = {
12
+ frame,
13
+ dt: state.dt,
14
+ width: state.targetSurface.width,
15
+ height: state.targetSurface.height,
16
+ };
17
+ for (const shader of shaders) {
18
+ shader(state.targetSurface, context);
19
+ }
20
+ next();
21
+ };
22
+ }
23
+ export function scanlines(options = {}) {
24
+ const dimFactor = clampFactor(options.dimFactor ?? 0.78);
25
+ const startBright = options.startBright ?? true;
26
+ return (surface, context) => {
27
+ shadeSurface(surface, context, (_x, y) => {
28
+ const dimmedRow = startBright ? (y % 2 === 1) : (y % 2 === 0);
29
+ return dimmedRow ? dimFactor : 1;
30
+ });
31
+ };
32
+ }
33
+ export function flicker(options = {}) {
34
+ const minFactor = clampFactor(options.minFactor ?? 0.94);
35
+ const maxFactor = clampFactor(options.maxFactor ?? 1.04);
36
+ return (surface, context) => {
37
+ const t = normalizedNoise(0, 0, context.frame);
38
+ const factor = lerp(minFactor, maxFactor, t);
39
+ shadeSurface(surface, context, () => factor);
40
+ };
41
+ }
42
+ export function noise(options = {}) {
43
+ const intensity = Math.max(0, Math.min(options.intensity ?? 0.12, 1));
44
+ return (surface, context) => {
45
+ shadeSurface(surface, context, (x, y) => {
46
+ const centered = (normalizedNoise(x, y, context.frame) - 0.5) * 2;
47
+ return clampFactor(1 + centered * intensity);
48
+ });
49
+ };
50
+ }
51
+ export function vignette(options = {}) {
52
+ const edgeFactor = clampFactor(options.edgeFactor ?? 0.72);
53
+ const exponent = Math.max(0.1, options.exponent ?? 1.6);
54
+ return (surface, context) => {
55
+ const cx = (context.width - 1) / 2;
56
+ const cy = (context.height - 1) / 2;
57
+ const maxDistance = Math.max(1, Math.hypot(cx, cy));
58
+ shadeSurface(surface, context, (x, y) => {
59
+ const distance = Math.hypot(x - cx, y - cy) / maxDistance;
60
+ const edgeBias = Math.pow(Math.min(1, distance), exponent);
61
+ return lerp(1, edgeFactor, edgeBias);
62
+ });
63
+ };
64
+ }
65
+ function shadeSurface(surface, context, factorForCell) {
66
+ if (surface.width === 0 || surface.height === 0)
67
+ return;
68
+ if (isPackedSurface(surface)) {
69
+ shadePackedSurface(surface, context, factorForCell);
70
+ return;
71
+ }
72
+ shadeCellSurface(surface, context, factorForCell);
73
+ }
74
+ function shadePackedSurface(surface, context, factorForCell) {
75
+ const buf = surface.buffer;
76
+ const width = surface.width;
77
+ const height = surface.height;
78
+ for (let y = 0; y < height; y++) {
79
+ for (let x = 0; x < width; x++) {
80
+ const factor = factorForCell(x, y, context);
81
+ if (factor === 1)
82
+ continue;
83
+ const index = y * width + x;
84
+ const off = index * CELL_STRIDE;
85
+ const alpha = buf[off + OFF_ALPHA];
86
+ const cell = surface.cells[index];
87
+ if (alpha & FLAG_FG_SET) {
88
+ const nextFg = shadePackedRgb(buf, off + OFF_FG_R, factor);
89
+ cell.fg = rgbToHex(nextFg[0], nextFg[1], nextFg[2]);
90
+ }
91
+ if (alpha & FLAG_BG_SET) {
92
+ const nextBg = shadePackedRgb(buf, off + OFF_BG_R, factor);
93
+ cell.bg = rgbToHex(nextBg[0], nextBg[1], nextBg[2]);
94
+ }
95
+ }
96
+ }
97
+ surface.markAllDirty();
98
+ }
99
+ function shadePackedRgb(buf, start, factor) {
100
+ const r = shadeChannel(buf[start], factor);
101
+ const g = shadeChannel(buf[start + 1], factor);
102
+ const b = shadeChannel(buf[start + 2], factor);
103
+ buf[start] = r;
104
+ buf[start + 1] = g;
105
+ buf[start + 2] = b;
106
+ return [r, g, b];
107
+ }
108
+ function shadeCellSurface(surface, context, factorForCell) {
109
+ for (let y = 0; y < surface.height; y++) {
110
+ for (let x = 0; x < surface.width; x++) {
111
+ const factor = factorForCell(x, y, context);
112
+ if (factor === 1)
113
+ continue;
114
+ const cell = surface.get(x, y);
115
+ const fgHex = typeof cell.fg === 'string' ? cell.fg : cell.fg?.hex;
116
+ const bgHex = typeof cell.bg === 'string' ? cell.bg : cell.bg?.hex;
117
+ const nextFg = fgHex ? shadeHex(fgHex, factor) : undefined;
118
+ const nextBg = bgHex ? shadeHex(bgHex, factor) : undefined;
119
+ if (nextFg !== cell.fg || nextBg !== cell.bg) {
120
+ surface.set(x, y, { ...cell, fg: nextFg, bg: nextBg });
121
+ }
122
+ }
123
+ }
124
+ }
125
+ function shadeHex(hex, factor) {
126
+ if (hex.length !== 7 || hex[0] !== '#')
127
+ return hex;
128
+ const digits = hex.slice(1);
129
+ if (!/^[0-9A-Fa-f]{6}$/.test(digits))
130
+ return hex;
131
+ const r = parseInt(digits.slice(0, 2), 16);
132
+ const g = parseInt(digits.slice(2, 4), 16);
133
+ const b = parseInt(digits.slice(4, 6), 16);
134
+ if (isNaN(r) || isNaN(g) || isNaN(b))
135
+ return hex;
136
+ return rgbToHex(shadeChannel(r, factor), shadeChannel(g, factor), shadeChannel(b, factor));
137
+ }
138
+ function shadeChannel(value, factor) {
139
+ return Math.max(0, Math.min(255, Math.round(value * factor)));
140
+ }
141
+ function rgbToHex(r, g, b) {
142
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
143
+ }
144
+ function toHex(value) {
145
+ return value.toString(16).padStart(2, '0');
146
+ }
147
+ function clampFactor(value) {
148
+ if (!Number.isFinite(value))
149
+ return 1;
150
+ return Math.max(0, Math.min(value, 2));
151
+ }
152
+ function lerp(start, end, t) {
153
+ return start + (end - start) * t;
154
+ }
155
+ function normalizedNoise(x, y, frame) {
156
+ let value = Math.imul(x + 1, 374761393);
157
+ value = (value + Math.imul(y + 1, 668265263)) >>> 0;
158
+ value = (value + Math.imul(frame + 1, 982451653)) >>> 0;
159
+ value ^= value >>> 13;
160
+ value = Math.imul(value, 1274126177) >>> 0;
161
+ value ^= value >>> 16;
162
+ return value / 0xffffffff;
163
+ }
164
+ //# sourceMappingURL=surface-shaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-shaders.js","sourceRoot":"","sources":["../../../src/pipeline/middleware/surface-shaders.ts"],"names":[],"mappings":"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"}
@@ -47,17 +47,45 @@ export type RenderMiddleware = (state: RenderState, next: () => void) => void |
47
47
  * A stage in the rendering pipeline.
48
48
  */
49
49
  export type RenderStage = 'Layout' | 'Paint' | 'PostProcess' | 'Diff' | 'Output';
50
+ /** Per-stage timing sample captured during a single pipeline execution. */
51
+ export interface RenderStageTiming {
52
+ /** Stage that completed. */
53
+ readonly stage: RenderStage;
54
+ /** Wall-clock duration for this stage in milliseconds. */
55
+ readonly durationMs: number;
56
+ }
57
+ /** Observer notified whenever a render stage completes. */
58
+ export type RenderStageCompleteHandler = (stage: RenderStage, durationMs: number, state: RenderState) => void;
59
+ /** Disposable observer registration handle. */
60
+ export interface RenderStageObserver {
61
+ dispose(): void;
62
+ }
63
+ /** Key used to store per-frame stage timings in `RenderState.data`. */
64
+ export declare const RENDER_STAGE_TIMINGS_KEY = "__pipelineStageTimings";
65
+ /**
66
+ * Read per-stage timings captured during the current pipeline execution.
67
+ *
68
+ * The returned array is replaced on each `pipeline.execute(state)` call.
69
+ */
70
+ export declare function getRenderStageTimings(state: Pick<RenderState, 'data'>): readonly RenderStageTiming[];
50
71
  /**
51
72
  * The rendering pipeline registry.
52
73
  */
53
74
  export interface RenderPipeline {
54
75
  /** Register middleware for a specific stage. */
55
76
  use(stage: RenderStage, middleware: RenderMiddleware): void;
77
+ /** Observe per-stage completion timings for each pipeline execution. */
78
+ onStageComplete(handler: RenderStageCompleteHandler): RenderStageObserver;
56
79
  /** Execute the entire pipeline for a given state. */
57
80
  execute(state: RenderState): void;
58
81
  }
82
+ /** Options for creating a programmable render pipeline. */
83
+ export interface CreatePipelineOptions {
84
+ /** Optional timing source override, primarily for deterministic tests. */
85
+ now?: () => number;
86
+ }
59
87
  /**
60
88
  * Create a new programmable rendering pipeline.
61
89
  */
62
- export declare function createPipeline(): RenderPipeline;
90
+ export declare function createPipeline(options?: CreatePipelineOptions): RenderPipeline;
63
91
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,8CAA8C;IAC9C,GAAG,EAAE,YAAY,CAAC;IAClB,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5D,qDAAqD;IACrD,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,cAAc,CA8C/C"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,8CAA8C;IAC9C,GAAG,EAAE,YAAY,CAAC;IAClB,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjF,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,MAAM,0BAA0B,GAAG,CACvC,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;AAEV,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,iBAAiB,EAAE,CAGpG;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5D,wEAAwE;IACxE,eAAe,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IAC1E,qDAAqD;IACrD,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAED,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAgHlF"}