Show judgment arguments in coverage proof trees#413
Conversation
|
Thanks for contributing to formality! :) |
|
I'm thinking about the size. I'm not very worried about the size of the json per se, but i'd like to avoid large initial loads. Maybe what we should do is to create json files that can be loaded on demand via javascript? Basically I'd rather have the data available but not fully displayed. My ideal would be that we load the json object lazilly when you are hovering or viewing it and we render it in a collapsible form. But when you are not looking at, those resources are freed. |
|
Thanks, this makes sense. I reworked it so the argument values are no longer in the initial page load. Each detail page now writes a sidecar Since size is no longer the constraint, I also dropped the One thing I will point out is showing the collapsed |
What does this PR do?
Follow-up to #410, showing the judgment arguments in coverage proof trees. Each node gets a collapsed
argssub-list: positive trees list the judgment's inputs and result, negative trees show the failing judgment's arguments. The JSONL format is additive, so old coverage files still read. To keep the book shippable, args are deduplicated against the parent node and only shown for the top levels of each tree (MAX_ATTR_DEPTH = 2); this and two other limits are one-line knobs.How does it work, what questions do you have?
Attributes were already on
ProofTree(the debug inputs/result), just never surfaced, same for failing judgments, whose args are buried in the tail of theDebugstring. So this is purelycoverage.rsmirror changes. New fields are#[serde(default)]so old coverage files still load fine.Only real wrinkle is size, these Debug dumps get huge and repeat a lot across big trees. Clipping long values, dropping args that match the parent, and capping depth keeps it sane. Book's already about114MB from the hover tooltips, this only adds about 1MB on top. Still not sure
MAX_ATTR_DEPTH = 2is right though, now that the tooltips dominate the size anyway, maybe we can afford to go deeper.Positive tree (expanded
args)Negative tree (failing judgment's
args)AI disclosure