/** * DISCOVERY BRAIN — the search, drawn as living roots. Every other view shows WHERE the optimum is; this * shows HOW the search flowed to it. Each experiment becomes a node; each node reaches toward the nearest * BETTER-scoring experiment, so the edges all flow uphill and converge — like dendrites of a brain, or roots * seeking water — onto the single best point at the centre. The result is a branching map of the discovery * itself: thin faint tendrils from the early random probes, thickening into bright trunks as the search * homed in. * * The structure is a real, well-defined tree (a gradient-flow forest collapsed to the global best): follow * any node's parent and the score strictly rises, so you always arrive at the optimum and never loop. That * makes it both a striking visual AND an honest artefact — the branches are the actual improvement lineage * of your run, not decoration. * * Honest by construction (DIAKRISIS): parent = the strictly-better experiment nearest in the (normalised) * variable space; the root is exactly the best-scoring run. Layout positions are the first two normalised * variables (a faithful projection, not an invented embedding). Deterministic; abstains on trivial data. */ import { type Space } from "./space.js"; import { type Observation, type Goal } from "./engine.js"; export interface BrainNode { i: number; parent: number | null; value: number; x: number; y: number; depth: number; } export interface BrainTree { root: number; nodes: BrainNode[]; maxDepth: number; } /** Build the improvement-lineage tree: each node reaches toward the nearest strictly-better experiment. */ export declare function buildLineage(obs: ReadonlyArray, space: Space, goal?: Goal): BrainTree; export declare function lineageGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=lineage.d.ts.map