150 import {COL_GAP} from '@fuzdev/fuz_docs/stack_layout.js'; Horizontal spacing between adjacent nodes within a layer.
Pure, deterministic layout for the public @fuzdev stack dependency graph.
compute_stack_layout takes raw nodes (name/category/language/description)
plus the full edge list and bakes in layer, fan_in, and world-space
x/y coordinates. No randomness — running it twice on the same input
yields byte-identical output, which keeps the generated stack_graph.ts
stable across gro gen runs.
4 declarations
150 import {COL_GAP} from '@fuzdev/fuz_docs/stack_layout.js'; Horizontal spacing between adjacent nodes within a layer.
(nodes: readonly StackNodeInput[], edges: readonly StackEdge[]): StackNode[] import {compute_stack_layout} from '@fuzdev/fuz_docs/stack_layout.js'; Computes baked layout positions for the stack graph.
The full edges list is used only to derive the layering; the emitted edge
list is owned by the caller (the generator emits every edge, including the
dev ones this layout cuts).
nodesraw nodes keyed by name
readonly StackNodeInput[]edgesevery dependency edge (prod, peer, and dev)
readonly StackEdge[]StackNode[] positioned nodes sorted by name, with layer, fan_in, x, y filled in
120 import {ROW_GAP} from '@fuzdev/fuz_docs/stack_layout.js'; Vertical spacing between adjacent layers.
StackNodeInput import type {StackNodeInput} from '@fuzdev/fuz_docs/stack_layout.js'; Raw node input to compute_stack_layout — the positioned fields are filled in by the layout.
nameShort repo/display name, e.g. fuz_util, fuz.dev.
type string
categorytype StackCategory
languagetype StackLanguage
descriptionFrom the manifest description field; empty string if none.
type string