Repository navigation
feat(desktop): add Inventory and Lineage tabs - #218
Merged
Merged
Conversation
The desktop app could list unused objects but not show why anything is used, or what an analysis read. Two new tabs answer both: - Inventory: every object, model → reports (tables and members, each expanding to the visuals it reaches, directly or through what uses it) or reports → model (pages and visuals, each expanding to its fields and on through what they use), with a filter, an unused-only switch, and a detail panel of direct links and binding sites. - Lineage: one object's dependencies and impact as a column graph out to the report visuals, beside the same tree; click to refocus, depth and direction controls, a hideable tree, and fit-to-width. ripbi-app splits deps::run into deps::load and Explorer::view so the graph is built once per analysis, and Explorer exposes uses and bindings for the tree. The README demo GIF is re-recorded to show both tabs instead of the update card.
…ency-visualization-b4ae72 # Conflicts: # desktop-egui/src/main.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two new tabs in the desktop app:
The README demo GIF is re-recorded to show both tabs. It drops the update-card scene, and
Staged::previewgoes with it.Why
The desktop app could list unused objects but couldn't show why anything was used, or let you browse what an analysis read without knowing what to search for.
How
ripbi-app:deps::runis split intodeps::load, which builds the graph once into anExplorer, andExplorer::view(&DepsRequest). Interactive front ends can now ask for view after view without re-ingesting the model.runbehaves as before, so the CLI is unchanged.Explorer::usesandExplorer::bindingsexpose the raw edges and report bindings for the tree.desktop-egui/src/lineage.rs: builds the graph and the inventory on a worker thread, then lays the graph out and paints it with egui's painter. No new dependencies;ripbi-corebecomes a direct dependency of the desktop crate for the graph types.desktop-egui/src/inventory.rs: the object tree.CollapsingHeader, becauseCollapsingHeadernever wraps its text and long names need to wrap.Reviewer notes
Sales[CustomerKey]show as reaching nearly every visual under Model → reports. That follows ripbi's liveness rules: relationship filter flows keep those columns alive. The "via" note on each row shows which bound field they come through.-D warnings. The desktop tests pass, including new layout and inventory tests.