I really want a new interface for rustdoc to have the feature in OP, and more opinionated functionalities.
So I'm working on GitHub - zjp-CN/term-rustdoc: [WIP] A TUI for Rust docs that aims to improve the UX on tree view and generic code.
Specifically for the topic here, I drew the desgin in repo before seeing OP.
┌───────────┐ Navigation Panel
│Item Detail│ ┌────────────────────┐
└─────┬─────┘ │Module Tree │
│ ┌───────┐ │Field/Variant Tree │
├─────────┤Modules│ │ITAB Impl Tree │
│ └───────┘ │Args Type Tree │
│ │Return Type Tree │
│ ┌───────────────────┐ ┌───────────────┐ │Construct Fn Tree │
│ │Data Structures ├─┬────►│Fields/Varaints│ │Non-receiver Fn Tree│
├─────────┤(struct/enum/union)│ │ └───────────────┘ └────────────────────┘
│ └───────────────────┘ │
│ ▲ │
│ │ │ ┌─────┐ For methods in all Impls
│ │ ├────►│Impls├────────────────────────┐
│ ┌────────┐ │ │ └───┬─┘ │
├───│Funcions│ │ │ ├─────► Inherent methods │
│ └──┬─────┘ │ │ │ │
│ │ ┌──────────┐ │ │ Sort ├─────► Trait methods │
│ ├──►│Args Types├───┐ │ │ By Name │ │
│ │ └──────────┘ ├─┤ │ In kinds├─────► Auto traits │
│ │ ┌───────────┐ ├─┤ │ │ │
│ └──►│Return Type├──┘ │ │ └─────► Blanket traits │
│ └───────────┘ │ │ │
│ │ │ ┌───────┘
│ │ │ │ ┌──────────────────┐
│ ┌──────┐ │ │ ├───►│Sort By Args Types├───┐
└───┤Traits│ │ │ No │ └──────────────────┘ │
└─┬────┘ TODO │ │ ITAB│ ┌───────────────────┐ │
│ ┌────────────────┐ │ │ └───►│Sort By Return Type├──┤
│ │Sub/Super traits│ │ │ └───────────────────┘ │
│ │Assoc Types │ │ │ ┌───────────────────┐ │
└──┤Type Parameters │ │ ├─────│Construct Functions│ fn(...) -> Self │
│Method Args │ │ │ └───────────────────┘ │ │
│Method Return │ │ │ ┌───────────────────┐ │ │
└───────┬────────┘ │ └─────│Used as an argument│ │ │
│ │ └───────────────────┘ │ │
│ │ fn(.., Self) -> ... │ │
│ │ i.e. non-receiver fn │ │
▼ ▼ │ │ │
┌────────────────────────────────────────────┐ │ │ │
│ ┌──► Concrete Types │ │ │ │
│ │ │ │ │ │
│Types──┤ │ │ │ │
│ │ ┌─► Semi Generic │◄────────┴───────────────────────┴────────────────┘
│ └──► Generic Types──┤ │
│ └─► Fully Generic│
└────────────────────────────────────────────┘