No surface answers "what does X ultimately require?" or "what breaks without X?" — the full prerequisite closure of an item, recipe, machine, or tech. In Py, where a mid-tier item can sit on a dependency tree hundreds of nodes deep, that judgment currently lives in the user's head or gets delegated to the AI assistant per question.
Two layers:
- Data: a dependency graph over the imported data — recipe -> ingredients (require all) and -> a crafting machine (require any) and -> unlocking tech; item -> producing recipes (require any); tech -> prerequisites + pack ingredients. Forward and reverse edges, with the AND/OR distinction kept so "needs one of three producers" reads differently from "needs all four ingredients". Research-horizon state annotates each node as unlocked/locked-behind-which-tech.
- UI: pick any object, see what it depends on and what depends on it, expandable level by level, with availability coloring and jump-to-browse/explorer navigation. This is the large part — dependency trees explode fast, so collapsed-by-default with counts ("requires 12 items via 4 recipes") matters more than raw completeness.
Related to #97 (the recipe explorer answers "which producer is practical"; this answers "what does the whole subtree need") — likely shares the good-centric page shell and hover-card infrastructure.
Part of #31.
No surface answers "what does X ultimately require?" or "what breaks without X?" — the full prerequisite closure of an item, recipe, machine, or tech. In Py, where a mid-tier item can sit on a dependency tree hundreds of nodes deep, that judgment currently lives in the user's head or gets delegated to the AI assistant per question.
Two layers:
Related to #97 (the recipe explorer answers "which producer is practical"; this answers "what does the whole subtree need") — likely shares the good-centric page shell and hover-card infrastructure.
Part of #31.