-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Welcome to the histoprint wiki!
Feature requests:
🤖 AI text below 🤖
I've gathered enough. Here's the consolidated list of suggested improvements from the open issues, deduplicated and with difficulty estimates.
These three issues overlap heavily — most of the asks reduce to a handful of features.
| # | Improvement | Source | Difficulty |
|---|---|---|---|
| 1 |
Fuzzy / filter search of branches — a text field (regex or fzf-style) to filter the sidebar tree, optionally across levels (treename/branchname) |
#192, #32, #33 | Hard — needs a filtered/dynamic tree model in Textual; the biggest single ask, but the most requested |
| 2 | Type-to-jump — start typing a name to jump the cursor to the nearest matching node (a "jump mode" to avoid clashing with existing key bindings) | #32 |
Medium — Textual's Tree has some built-in type-ahead; wiring a dedicated mode is moderate |
| 3 |
Enter/exit levels with arrows (h/l or left/right to collapse/ascend) |
#32 | Easy — mostly key bindings on the existing tree |
| 4 |
Page up/down jumps a page; vim-style scrolloff; multi-line skips |
#32, #33 | Easy–Medium — page jump likely already works via Textual; scrolloff is custom |
| 5 | Scroll/focus quirks — keyboard nav dead until sidebar clicked; clicking the plot loses keyboard nav; clicked entry not highlighted like scrolled | #32, #33 | Medium — focus-management in Textual; partly addressed already (several #33 boxes are checked) |
| # | Improvement | Source | Difficulty |
|---|---|---|---|
| 6 | Plot multiple variables on one axis (overlay) | #33 | Medium–Hard — UI to select/combine multiple branches plus plot.py support |
| 7 |
Apply cuts (tree->Draw("MyVar","PT>1000")-style selection) |
#33 | Medium — the expr-eval box already exists; needs a cut expression evaluated against arrays |
| 8 | Set axis range / binning from the UI | #33 | Medium — extends the existing plot-input/expr mechanism |
| 9 | Draw expressions, not just variables | #33 |
Medium — partly enabled already via the expr eval box (h[:] slicing) |
| 10 |
histoprint output — show subcommand or plot --histoprint
|
#28 | Easy–Medium — well-scoped, labelled good first issue; YeungOnion volunteered |
| # | Improvement | Source | Difficulty |
|---|---|---|---|
| 11 | Display TH2D / 2D histograms instead of raising | #175 | Hard — blocked upstream on plotext (axis support is poor); tracked at plotext#214 |
| 12 | Don't crash on non-serializable content (RooFit objects in CMS Combine files) — show a traceback in the right pane instead | #50 | Medium — should already route to the error view; needs the dispatch/iteration path to catch and continue |
| 13 | Better error messaging — show the actual error + a friendly "type probably not supported" hint instead of a bare traceback | #33 | Easy–Medium — improve the Error widget/message text |
| 14 | Plot artifacts — second bar starts higher than first; needs proper axis tick placement | #94 | Hard — upstream plotext limitation; tick placement on terminals is intrinsically constrained |
| # | Improvement | Source | Difficulty |
|---|---|---|---|
| 15 |
Transparent background for --iterm plots so they suit dark themes |
#100, #33 |
Easy–Medium — matplotlib savefig(transparent=True) in plot_mpl.py, but interacts with dark-line visibility |
| 16 |
--iterm support inside browse (inline images in the TUI) |
#33 | Hard — needs Rich/Textual to render binary image blobs; henryiii investigated and hit a wall (bytes not renderable) |
| 17 |
README plot misalignment in Firefox (ui-monospace font) |
#39 | Easy (workaround/doc) — not really a code bug; could add a note or use a font hint, true fix is out of scope |
- Easy / good-first-issue: #10 (histoprint), #3 (arrow level nav), #13 (error message), #17 (README note)
- Medium: #2, #4, #5, #7, #8, #9, #12, #15
- Hard (often blocked upstream): #1 (fuzzy filter — most-requested), #6 (overlay plots), #11 (TH2D, blocked on plotext), #14 (plot artifacts/ticks, plotext), #16 (iTerm in TUI, blocked on Textual)
A few notes on what's already partly done: the expr eval box (#9) and several #33 navigation bugs (uppercase footer, keyboard-after-launch, page jump) are checked off in the issue. The highest-value untouched items are the branch filter/fuzzy search (#1, requested in three separate issues) and histoprint (#28, scoped and has a volunteer).
Want me to open this as a tracking issue, or draft an implementation plan for any specific one (histoprint and the filter are the natural starting points)?