dear imgui
ISSUES & TODO LIST

Issue numbers (#) refer to github issues listed at https://github.com/ocornut/imgui/issues/XXXX
The list below consist mostly of ideas noted down before they are requested/discussed by users (at which point they usually exist on the github issue tracker).
It's mostly a bunch of personal notes, probably incomplete. Feel free to query if you have any questions.

 - doc/test: add a proper documentation+regression testing system (#435)
 - doc/test: checklist app to verify binding/integration of imgui (test inputs, rendering, callback, etc.).
 - doc/tips: tips of the day: website? applet in imgui_club?

 - window: calling SetNextWindowSize() every frame with <= 0 doesn't do anything, may be useful to allow (particularly when used for a single axis). (#690)
 - window: add a way for very transient windows (non-saved, temporary overlay over hundreds of objects) to "clean" up from the global window list. perhaps a lightweight explicit cleanup pass.
 - window: auto-fit feedback loop when user relies on any dynamic layout (window width multiplier, column) appears weird to end-user. clarify.
 - window: allow resizing of child windows (possibly given min/max for each axis?.)
 - window: background options for child windows, border option (disable rounding).
 - window: begin with *p_open == false could return false.
 - window: get size/pos helpers given names (see discussion in #249)
 - window: a collapsed window can be stuck behind the main menu bar?
 - window: when window is very small, prioritize resize button over close button.
 - window: detect extra End() call that pop the "Debug" window out and assert at End() call site instead of at end of frame.
 - window: increase minimum size of a window with menus or fix the menu rendering so that it doesn't look odd.
 - window: double-clicking on title bar to minimize isn't consistent, perhaps move to single-click on left-most collapse icon?
 - window: expose contents size. (#1045)
 - window: using SetWindowPos() inside Begin() and moving the window with the mouse reacts a very ugly glitch. We should just defer the SetWindowPos() call.
 - window: GetWindowSize() returns (0,0) when not calculated? (#1045)
 - window: investigate better auto-positioning for new windows.
 - window/opt: freeze window flag: if not focused/hovered, return false, render with previous ImDrawList. and/or reduce refresh rate. -> this may require enforcing that it is illegal to submit contents if Begin returns false.
 - window/child: the first draw command of a child window could be moved into the current draw command of the parent window (unless child+tooltip?).
 - window/clipping: some form of clipping when DisplaySize (or corresponding viewport) is zero.
 - scrolling: while holding down a scrollbar, try to keep the same contents visible (at least while not moving mouse)
 - scrolling: allow immediately effective change of scroll after Begin() if we haven't appended items yet.
 - scrolling/clipping: separator on the initial position of a window is not visible (cursorpos.y <= clippos.y). (2017-08-20: can't repro)
 - scrolling/style: shadows on scrollable areas to denote that there is more contents

 - drawdata: make it easy to clone (or swap?) a ImDrawData so user can easily save that data if they use threaded rendering.
 - drawlist: end-user probably can't call Clear() directly because we expect a texture to be pushed in the stack.
 - drawlist: maintaining bounding box per command would allow to merge draw command when clipping isn't relied on (typical non-scrolling window or non-overflowing column would merge with previous command).
 - drawlist: primitives/helpers to manipulate vertices post submission, so e.g. a quad/rect can be resized to fit later submitted content, _without_ using the ChannelSplit api
 - drawlist: make it easier to toggle AA per primitive, so we can use e.g. non-AA fill + AA borders more naturally
 - drawlist: non-AA strokes have gaps between points (#593, #288), glitch especially on RenderCheckmark() and ColorPicker4().
 - drawlist: would be good to be able to deep copy of ImDrawData (we have a deep copy of ImDrawList now).
 - drawlist: rendering: provide a way for imgui to output to a single/global vertex buffer, re-order indices only at the end of the frame (ref: https://gist.github.com/floooh/10388a0afbe08fce9e617d8aefa7d302)
 - drawlist: callback: add an extra void* in ImDrawCallback to allow passing render-local data to the callback (would break API).
 - drawlist: AddRect vs AddLine position confusing (#2441)
 - drawlist/opt: store rounded corners in texture to use 1 quad per corner (filled and wireframe) to lower the cost of rounding. (#1962)
 - drawlist/opt: AddRect() axis aligned pixel aligned (no-aa) could use 8 triangles instead of 16 and no normal calculation.
 - drawlist/opt: thick AA line could be doable in same number of triangles as 1.0 AA line by storing gradient+full color in atlas.

 - main: find a way to preserve relative orders of multiple reappearing windows (so an app toggling between "modes" e.g. fullscreen vs all tools) won't lose relative ordering.
 - main: IsItemHovered() make it more consistent for various type of widgets, widgets with multiple components, etc. also effectively IsHovered() region sometimes differs from hot region, e.g tree nodes
 - main: IsItemHovered() info stored in a stack? so that 'if TreeNode() { Text; TreePop; } if IsHovered' return the hover state of the TreeNode?
 - main: rename the main "Debug" window to avoid ID collision with user who may want to use "Debug" with specific flags.

 - widgets: display mode: widget-label, label-widget (aligned on column or using fixed size), label-newline-tab-widget etc. (#395)
 - widgets: clean up widgets internal toward exposing everything and stabilizing imgui_internals.h.
 - widgets: add visuals for Disabled/ReadOnly mode and expose publicly (#211)
 - widgets: add always-allow-overlap mode. This should perhaps be the default.
 - widgets: start exposing PushItemFlag() and ImGuiItemFlags
 - widgets: alignment options in style (e.g. center Selectable, Right-Align within Button, etc.) #1260
 - widgets: activate by identifier (trigger button, focus given id)
 - widgets: a way to represent "mixed" values, so e.g. all values replaced with **, including check-boxes, colors, etc. with support for multi-components widgets (e.g. SliderFloat3, make only "Y" mixed)
 - widgets: selectable: generic BeginSelectable()/EndSelectable() mechanism.
 - widgets: selectable: a way to visualize partial/mixed selection (e.g. parent tree node has children with mixed selection)

 - input text: clean up the mess caused by converting UTF-8 <> wchar. the code is rather inefficient right now and super fragile.
 - input text: reorganize event handling, allow CharFilter to modify buffers, allow multiple events? (#541)
 - input text: expose CursorPos in char filter event (#816)
 - input text: access public fields via a non-callback API e.g. InputTextGetState("xxx") that may return NULL if not active.
 - input text: flag to disable live update of the user buffer (also applies to float/int text input) (#701)
 - input text: hover tooltip could show unclamped text
 - input text: option to Tab after an Enter validation.
 - input text: add ImGuiInputTextFlags_EnterToApply? (off #218)
 - input text: easier ways to update buffer (from source char*) while owned. preserve some sort of cursor position for multi-line text.
 - input text: add discard flag (e.g. ImGuiInputTextFlags_DiscardActiveBuffer) or make it easier to clear active focus for text replacement during edition (#725)
 - input text: display bug when clicking a drag/slider after an input text in a different window has all-selected text (order dependent). actually a very old bug but no one appears to have noticed it.
 - input text: allow centering/positioning text so that ctrl+clicking Drag or Slider keeps the textual value at the same pixel position.
 - input text: decorrelate layout from inputs - e.g. what's the easiest way to implement a nice IP/Mac address input editor?
 - input text: global callback system so user can plug in an expression evaluator easily.
 - input text: force scroll to end or scroll to a given line/contents (so user can implement a log or a search feature)
 - input text: a side bar that could e.g. preview where errors are. probably left to the user to draw but we'd need to give them the info there.
 - input text: a way for the user to provide syntax coloring.
 - input text: Shift+TAB with ImGuiInputTextFlags_AllowTabInput could eat preceding blanks, up to tab_count.
 - input text multi-line: don't directly call AddText() which does an unnecessary vertex reserve for character count prior to clipping. and/or more line-based clipping to AddText(). and/or reorganize TextUnformatted/RenderText for more efficiency for large text (e.g TextUnformatted could clip and log separately, etc).
 - input text multi-line: support for cut/paste without selection (cut/paste the current line)
 - input text multi-line: line numbers? status bar? (follow up on #200)
 - input text multi-line: behave better when user changes input buffer while editing is active (even though it is illegal behavior). namely, the change of buffer can create a scrollbar glitch (#725)
 - input text multi-line: better horizontal scrolling support (#383, #1224)
 - input text multi-line: single call to AddText() should be coarse clipped on InputTextEx() end.
 - input number: optional range min/max for Input*() functions
 - input number: holding [-]/[+] buttons could increase the step speed non-linearly (or user-controlled)
 - input number: use mouse wheel to step up/down
 - input number: applying arithmetics ops (+,-,*,/) messes up with text edit undo stack.

 - layout: helper or a way to express ImGui::SameLine(ImGui::GetCursorStartPos().x + ImGui::CalcItemWidth() + ImGui::GetStyle().ItemInnerSpacing.x); in a simpler manner.
 - layout: generalization of the above: a concept equivalent to word processor ruler tab stop ~ mini columns (position in X, no clipping implied) (vaguely relate to #267, #395, also what is used internally for menu items)
 - layout: horizontal layout helper (#97)
 - layout: horizontal flow until no space left (#404)
 - layout: more generic alignment state (left/right/centered) for single items?
 - layout: clean up the InputFloatN/SliderFloatN/ColorEdit4 layout code. item width should include frame padding.
 - layout: BeginGroup() needs a border option. (~#1496)
 - layout: vertical alignment of mixed height items (e.g. buttons) within a same line (#1284)

 - columns: sizing policy (e.g. for each column: fixed size, %, fill, distribute default size among fills) (#513, #125)
 - columns: add a conditional parameter to SetColumnOffset() (#513, #125)
 - columns: headers. re-orderable. (#513, #125)
 - columns: optional sorting modifiers (up/down), sort list so sorting can be done multi-criteria. notify user when sort order changed.
 - columns: option to alternate background colors on odd/even scanlines.
 - columns: allow columns to recurse.
 - columns: allow a same columns set to be interrupted by e.g. CollapsingHeader and resume with columns in sync when moving them.
 - columns: separator function or parameter that works within the column (currently Separator() bypass all columns) (#125)
 - columns: flag to add horizontal separator above/below?
 - columns/layout: setup minimum line height (equivalent of automatically calling AlignFirstTextHeightToWidgets)

!- color: the color conversion helpers/types are a mess and needs sorting out.
 - color: (api breaking) ImGui::ColorConvertXXX functions should be loose ImColorConvertXX to match imgui_internals.h

 - plot: full featured plot/graph api w/ scrolling, zooming etc. all bell & whistle. why not!
 - plot: PlotLines() should use the polygon-stroke facilities, less vertices (currently issues with averaging normals)
 - plot: make it easier for user to draw extra stuff into the graph (e.g: draw basis, highlight certain points, 2d plots, multiple plots)
 - plot: "smooth" automatic scale over time, user give an input 0.0(full user scale) 1.0(full derived from value)
 - plot: option/feature: draw the zero line
 - plot: option/feature: draw grid, vertical markers
 - plot: option/feature: draw unit
 - plot: add a helper e.g. Plot(char* label, float value, float time_span=2.0f) that stores values and Plot them for you - probably another function name. and/or automatically allow to plot ANY displayed value (more reliance on stable ID)

 - clipper: ability to force display 1 item in the list would be convenient (for patterns where we need to set active id etc.)
 - clipper: ability to disable the clipping through a simple flag/bool.
 - clipper: ability to run without knowing full count in advance.

 - splitter/separator: formalize the splitter idiom into an official api (we want to handle n-way split) (#319)

 - dock: merge docking branch (#2109)
 - dock: dock out from a collapsing header? would work nicely but need emitting window to keep submitting the code.

 - tabs: make EndTabBar fail if users doesn't respect BeginTabBar return value, for consistency/future-proofing.
 - tabs: persistent order/focus in BeginTabBar() api (#261, #351)

 - button: provide a button that looks framed. (?)
 - image/image button: misalignment on padded/bordered button?
 - image/image button: parameters are confusing, image() has tint_col,border_col whereas imagebutton() has bg_col/tint_col. Even thou they are different parameters ordering could be more consistent. can we fix that?
 - image button: not taking an explicit id can be problematic. (#2464, #1390)
 - slider/drag: ctrl+click when format doesn't include a % character.. disable? display underlying value in default format? (see InputScalarAsWidgetReplacement)
 - slider: allow using the [-]/[+] buttons used by InputFloat()/InputInt()
 - slider: initial absolute click is imprecise. change to relative movement slider (same as scrollbar). (#1946)
 - slider: add dragging-based widgets to edit values with mouse (on 2 axises), saving screen real-estate.
 - slider: tint background based on value (e.g. v_min -> v_max, or use 0.0f either side of the sign)
 - slider: relative dragging? + precision dragging
 - slider: step option (#1183)
 - slider style: fill % of the bar instead of positioning a drag.
 - knob: rotating knob widget (#942)
 - drag float: power/logarithmic slider and drags are weird. (#1316)
 - drag float: up/down axis
 - drag float: power != 0.0f with current value being outside the range keeps the value stuck.
 - drag float: added leeway on edge (e.g. a few invisible steps past the clamp limits)

 - combo: use clipper: make it easier to disable clipper with a single flag.
 - combo: flag for BeginCombo to not return true when unchanged (#1182)
 - combo: a way/helper to customize the combo preview (#1658)
 - combo/listbox: keyboard control. need InputText-like non-active focus + key handling. considering keyboard for custom listbox (pr #203)
 - listbox: refactor and clean the begin/end api
 - listbox: multiple selection.
 - listbox: unselect option (#1208)
 - listbox: make it easier/more natural to implement range-select (need some sort of info/ref about the last clicked/focused item that user can translate to an index?) (wip stash)
 - listbox: user may want to initial scroll to focus on the one selected value?
 - listbox: expose hovered item for a basic ListBox
 - listbox: keyboard navigation.
 - listbox: disable capturing mouse wheel if the listbox has no scrolling. (#1681)
 - listbox: scrolling should track modified selection.

!- popups/menus: clarify usage of popups id, how MenuItem/Selectable closing parent popups affects the ID, etc. this is quite fishy needs improvement! (#331, #402)
 - popups/modal: make modal title bar blink when trying to click outside the modal
 - popups: reopening context menu at new position should be the behavior by default? (equivalent to internal OpenPopupEx() with reopen_existing=true) (~#1497)
 - popups: if the popup functions took explicit ImGuiID it would allow the user to manage the scope of those ID. (#331)
 - popups: clicking outside (to close popup) and holding shouldn't drag window below.
 - popups: add variant using global identifier similar to Begin/End (#402)
 - popups: border options. richer api like BeginChild() perhaps? (#197)
 - tooltip: drag and drop with tooltip near monitor edges lose/changes its last direction instead of locking one. The drag and drop tooltip should always follow without changing direction.
 - tooltip: tooltip that doesn't fit in entire screen seems to lose their "last preferred direction" and may teleport when moving mouse.
 - tooltip: allow to set the width of a tooltip to allow TextWrapped() etc. while keeping the height automatic.
 - tooltip: tooltips with delay timers? or general timer policy? (instantaneous vs timed): IsItemHovered() with timer + implicit aabb-id for items with no ID. (#1485)

 - menus: calling BeginMenu() twice with a same name doesn't append as Begin() does for regular windows (#1207)
 - menus: menu bars inside modal windows are acting weird.
 - status-bar: add a per-window status bar helper similar to what menu-bar does.
 - shortcuts: local-style shortcut api, e.g. parse "&Save"
 - shortcuts,menus: global-style shortcut api e.g. "Save (CTRL+S)" -> explicit flag for recursing into closed menu
 - shortcuts: programmatically access shortcuts "Focus("&Save"))
 - menus: menu-bar: main menu-bar could affect clamping of windows position (~ akin to modifying DisplayMin)
 - menus: hovering from menu to menu on a menu-bar has 1 frame without any menu, which is a little annoying. ideally either 0 either longer.

 - text: selectable text (for copy) as a generic feature (ItemFlags?)
 - text: proper alignment options in imgui_internal.h
 - text wrapped: figure out better way to use TextWrapped() in an always auto-resize context (tooltip, etc.) (#249)
 - text: it's currently impossible to have a window title with "##". perhaps an official workaround would be nice. \ style inhibitor? non-visible ascii code to insert between #?
 - text: provided a framed text helper, e.g. https://pastebin.com/1Laxy8bT
 - text: refactor TextUnformatted (or underlying function) to more explicitly request if we need width measurement or not
 - text link/url button: underlined. should api expose an ID or use text contents as ID? which colors enum to use?

 - tree node / optimization: avoid formatting when clipped.
 - tree node: tree-node/header right-most side doesn't take account of horizontal scrolling.
 - tree node: add treenode/treepush int variants? not there because (void*) cast from int warns on some platforms/settings?
 - tree node: try to apply scrolling at time of TreePop() if node was just opened and end of node is past scrolling limits?
 - tree node / selectable render mismatch which is visible if you use them both next to each other (e.g. cf. property viewer)
 - tree node: tweak color scheme to distinguish headers from selected tree node (#581)
 - tree node: leaf/non-leaf highlight mismatch.

 - settings: write more decent code to allow saving/loading new fields: columns, selected tree nodes?
 - settings: api for per-tool simple persistent data (bool,int,float,columns sizes,etc.) in .ini file (#437)
 - stb: add defines to disable stb implementations

 - style: better default styles. (#707)
 - style: add a highlighted text color (for headers, etc.)
 - style: border types: out-screen, in-screen, etc. (#447)
 - style: add window shadow (fading away from the window. Paint-style calculation of vertices alpha after drawlist would be easier)
 - style: a concept of "compact style" that the end-user can easily rely on (e.g. PushStyleCompact()?) that maps to other settings? avoid implementing duplicate helpers such as SmallCheckbox(), etc.
 - style: try to make PushStyleVar() more robust to incorrect parameters (to be more friendly to edit & continues situation).
 - style: global scale setting.
 - style: WindowPadding needs to be EVEN as the 0.5 multiplier used on this value probably have a subtle effect on clip rectangle
 - style: have a more global HSV setter (e.g. alter hue on all elements). consider replacing active/hovered by offset in HSV space? (#438, #707, #1223)
 - style: gradients fill (#1223) ~ 2 bg colors for each fill? tricky with rounded shapes and using textures for corners.
 - style editor: color child window height expressed in multiple of line height.

 - log: have more control over the log scope (e.g. stop logging when leaving current tree node scope)
 - log: be able to log anything (e.g. right-click on a window/tree-node, shows context menu? log into tty/file/clipboard)
 - log: let user copy any window content to clipboard easily (CTRL+C on windows? while moving it? context menu?). code is commented because it fails with multiple Begin/End pairs.
 - log: obsolete LogButtons() all together.
 - log: LogButtons() options for specifying depth and/or hiding depth slider

 - filters: set a current filter that tree node can automatically query to hide themselves
 - filters: handle wild-cards (with implicit leading/trailing *), reg-exprs
 - filters: fuzzy matches (may use code at blog.forrestthewoods.com/4cffeed33fdb)

 - drag and drop: releasing a drop shows the "..." tooltip for one frame - since e13e598 (#1725)
 - drag and drop: have some way to know when a drag begin from BeginDragDropSource() pov.
 - drag and drop: allow preview tooltip to be submitted from a different place than the drag source. (#1725)
 - drag and drop: allow using with other mouse buttons (where activeid won't be set). (#1637)
 - drag and drop: make it easier and provide a demo to have tooltip both are source and target site, with a more detailed one on target site (tooltip ordering problem)
 - drag and drop: test with reordering nodes (in a list, or a tree node). (#143)
 - drag and drop: test integrating with os drag and drop (make it easy to do a naive WM_DROPFILE integration)
 - drag and drop: make payload optional? (#143)
 - drag and drop: feedback when hovering a modal (cursor?)
 - node/graph editor (#306)
 - pie menus patterns (#434)
 - markup: simple markup language for color change? (#902)

 - font: MergeMode: flags to select overwriting or not (this is now very easy with refactored ImFontAtlasBuildWithStbTruetype)
 - font: free the Alpha buffer if user only requested RGBA.
!- font: better CalcTextSizeA() API, at least for simple use cases. current one is horrible (perhaps have simple vs extended versions).
 - font: a CalcTextHeight() helper could run faster than CalcTextSize().y
 - font: enforce monospace through ImFontConfig (for icons?) + create dual ImFont output from same input, reusing rasterized data but with different glyphs/AdvanceX
 - font: finish CustomRectRegister() to allow mapping Unicode codepoint to custom texture data
 - font: PushFontSize API (#1018)
 - font: MemoryTTF taking ownership confusing/not obvious, maybe default should be opposite?
 - font: storing MinAdvanceX per font would allow us to skip calculating line width (under a threshold of character count) in loops looking for block width
 - font/demo: add tools to show glyphs used by a text blob, display U16 value, list missing glyphs.
 - font/demo: demonstrate use of ImFontGlyphRangesBuilder.
 - font/atlas: add a missing Glyphs.reserve()
 - font/atlas: incremental updates
 - font/atlas: dynamic font atlas to avoid baking huge ranges into bitmap and make scaling easier.
 - font/atlas: allow user to submit its own primitive to be rectpacked, and allow to map them on a Unicode point.
 - font/draw: vertical and/or rotated text renderer (#705) - vertical is easier clipping wise
 - font/draw: need to be able to specify wrap start position.
 - font/draw: better reserve policy for large horizontal block of text (shouldn't reserve for all clipped lines)
 - font: optimization: for monospace font (like the default one) we can trim IndexXAdvance as long as trailing value is == FallbackXAdvance (need to make sure TAB is still correct), would save on cache line.
 - font: add support for kerning, probably optional. A) perhaps default to (32..128)^2 matrix ~ 9K entries = 36KB, then hash for non-ascii?. B) or sparse lookup into per-char list?
 - font: add a simpler CalcTextSizeA() api? current one ok but not welcome if user needs to call it directly (without going through ImGui::CalcTextSize)
 - font: fix AddRemapChar() to work before font has been built.
 - font: what would it take to support codepoint higher than 0xFFFF? (smileys, etc.)
 - font: (api breaking) remove "TTF" from symbol names. also because it now supports OTF.
 - font/opt: Considering storing standalone AdvanceX table as 16-bit fixed point integer?
 - font/opt: Glyph currently 40 bytes (2+9*4). Consider storing UV as 16 bits integer? (->32 bytes). X0/Y0/X1/Y1 as 16 fixed-point integers? Or X0/Y0 as float and X1/Y1 as fixed8_8?

 - nav: NavScrollToBringItemIntoView() with item bigger than view should focus top-right? Repro: using Nav in "About Window"
 - nav: wrap around logic to allow e.g. grid based layout (pressing NavRight on the right-most element would go to the next row, etc.). see internal's NavMoveRequestTryWrapping().
 - nav: patterns to make it possible for arrows key to update selection
 - nav: restore/find nearest navid when current one disappear (e.g. pressed a button that disappear, or perhaps auto restoring when current button change name)
 - nav: SetItemDefaultFocus() level of priority, so widget like Selectable when inside a popup could claim a low-priority default focus on the first selected iem
 - nav: allow input system to be be more tolerant of io.DeltaTime=0.0f
 - nav: ESC within a menu of a child window seems to exit the child window.
 - nav: NavFlattened: ESC on a flattened child should select something.
 - nav: NavFlattened: broken: in typical usage scenario, the items of a fully clipped child are currently not considered to enter into a NavFlattened child.
 - nav: NavFlattened: init request doesn't select items that are part of a NavFlattened child
 - nav: NavFlattened: cannot access menu-bar of a flattened child window with Alt/menu key (not a very common use case..).
 - nav: Left within a tree node block as a fallback (ImGuiTreeNodeFlags_NavLeftJumpsBackHere by default?)
 - nav/menus: pressing left-right on a vertically clipped menu bar tends to jump to the collapse/close buttons.
 - nav/menus: allow pressing Menu to leave a sub-menu.
 - nav/menus: a way to access the main menu bar with Alt? (currently needs CTRL+TAB)
 - nav/menus: when using the main menu bar, even though we restore focus after, the underlying window loses its title bar highlight during menu manipulation. could we prevent it?
 - nav: simulate right-click or context activation? (SHIFT+F10)
 - nav: tabs should go through most/all widgets (in submission order?).
 - nav: when CTRL-Tab/windowing is active, the HoveredWindow detection doesn't take account of the window display re-ordering.
 - nav: esc/enter default behavior for popups, e.g. be able to mark an "ok" or "cancel" button that would get triggered by those keys.
 - nav: when activating a button that changes label (without a static ID) or disappear, can we somehow automatically recover into a nearest highlight item?
 - nav: there's currently no way to completely clear focus with the keyboard. depending on patterns used by the application to dispatch inputs, it may be desirable.
 - nav: configuration flag to disable global shortcuts (currently only CTRL-tab) ?
 - focus: preserve ActiveId/focus stack state, e.g. when opening a menu and close it, previously selected InputText() focus gets restored (#622)
 - focus: SetKeyboardFocusHere() on with >= 0 offset could be done on same frame (else latch and modulate on beginning of next frame)
 - focus: unable to use SetKeyboardFocusHere() on clipped widgets. (#787)

 - inputs: we need an explicit flag about whether the imgui window is focused, to be able to distinguish focused key releases vs alt-tabbing all release behaviors.
 - inputs: rework IO system to be able to pass actual ordered/timestamped events. use an event queue? (~#335, #71)
 - inputs: support track pad style scrolling & slider edit.
 - inputs/io: backspace and arrows in the context of a text input could use system repeat rate.
 - inputs/io: clarify/standardize/expose repeat rate and repeat delays (#1808)

 - misc: idle: expose "woken up" boolean (set by inputs) and/or animation time (for cursor blink) for back-end to be able stop refreshing easily.
 - misc: idle: if cursor blink if the _only_ visible animation, core imgui could rewrite vertex alpha to avoid CPU pass on ImGui:: calls.
 - misc: idle: if cursor blink if the _only_ visible animation, could even expose a dirty rectangle that optionally can be leverage by some app to render in a smaller viewport, getting rid of much pixel shading cost.
 - misc: make the ImGuiCond values linear (non-power-of-two). internal storage for ImGuiWindow can use integers to combine into flags (Why?)
 - misc: provide a way to compile out the entire implementation while providing a dummy API (e.g. #define IMGUI_DUMMY_IMPL)
 - misc: PushItemFlag(): add a flag to disable keyboard capture when used with mouse? (#1682)
 - misc: use more size_t in public api?
 - misc: possible compile-time support for string view/range instead of char* would e.g. facilitate usage with Rust (#683)
 - misc: possible compile-time support for wchar_t instead of char*?

 - backend: bgfx? https://gist.github.com/RichardGale/6e2b74bc42b3005e08397236e4be0fd0
 - web/emscriptem: refactor some examples to facilitate integration with emscripten main loop system. (#1713, #336)
 - web/emscriptem: with refactored examples, we could provide a direct imgui_impl_emscripten platform layer (see eg. https://github.com/floooh/sokol-samples/blob/master/html5/imgui-emsc.cc#L42)

 - remote: make a system like RemoteImGui first-class citizen/project (#75)

 - demo: find a way to demonstrate textures in the examples application, as it such a common issue for new users.
 - demo: add vertical separator demo
 - demo: add virtual scrolling example?
 - demo: demonstrate Plot offset
 - examples: window minimize, maximize (#583)
 - examples: provide a zero frame-rate/idle example.
 - examples: apple: example_apple should be using modern GL3.
 - examples: glfw: could go idle when minimized? if (glfwGetWindowAttrib(window, GLFW_ICONIFIED)) { glfwWaitEvents(); continue; } // issue: DeltaTime will be super high on resume, perhaps provide a way to let impl know (#440)
 - examples: opengl: rename imgui_impl_opengl2 to impl_opengl_legacy and imgui_impl_opengl3 to imgui_impl_opengl? (#1900)
 - examples: opengl: could use a single vertex buffer and glBufferSubData for uploads?
 - examples: vulkan: viewport: support for synchronized swapping of multiple swap chains.
 - optimization: replace vsnprintf with stb_printf? or enable the defines/infrastructure to allow it (#1038)
 - optimization: add clipping for multi-component widgets (SliderFloatX, ColorEditX, etc.). one problem is that nav branch can't easily clip parent group when there is a move request.
 - optimization: add a flag to disable most of rendering, for the case where the user expect to skip it (#335)
 - optimization: fully covered window (covered by another with non-translucent bg + WindowRounding worth of padding) may want to clip rendering.
 - optimization: use another hash function than crc32, e.g. FNV1a
 - optimization/render: merge command-lists with same clip-rect into one even if they aren't sequential? (as long as in-between clip rectangle don't overlap)?
 - optimization: turn some the various stack vectors into statically-sized arrays
