gen-view
Every derived view is a named materialized query result over the selector algebra. gen-view is that constructor: registry, topology, channel, role, and the aspect/entity classification are one construction under different names, not five separate mechanisms that happen to look alike.
The problem it owns: a framework wants named, queryable views over a graph — “everything with this role,” “the topology reachable from here” — and without gen-view, each of those becomes its own bespoke query. gen-view’s raw calculus is a deliberate narrowing of a published scope-graph formalism, so the constructor stays small while the views it produces stay expressive.
It depends on gen-graph and gen-prelude. One roster member builds on it: gen-link, which threads gen-view’s constructs into cross-flake federation.
Take it alone
Section titled “Take it alone”{ inputs.gen-view.url = "github:sini/gen-view"; outputs = { gen-view, ... }: let view = gen-view.lib; in { /* ... */ };}graph = view.compositions.movement { channel = "settings"; relation = "import"; root = "leaf"; direction = "outbound";};Palettes adapted from Catppuccin (Macchiato) (MIT), Tokyo Night (Apache-2.0), gruvbox (MIT), Catppuccin (Latte) (MIT), Rosé Pine (Dawn) (MIT).