Module Hugin.Resolved
Resolved figures.
A resolved figure is a figure with its view applied, its binds evaluated, its ids assigned, its scopes formed and its composition checked, and every scale fitted to its data, which was summarised where it lives. It holds no size and no theme.
type tThe type for resolved figures.
scale ~at r s is the scale named like s, of the kind of s, in the scope that holds the node at (Scopes), the root by default, fitted: its domain set and its nice and zero unset (Scale.fit), and its other properties those its channels merged, implied ones included. Given to another figure, it normalises as it does in r and carries the ranges it states. So a zoomed scale has its zoomed domain (View.zoom), and a band scale read by y has the reverse that y implies, which reverses x where the scale is given to x. A stepped scale steps at the ticks of the figure that draws it, so another figure, of another size or theme, may step it elsewhere. Only the name and kind of s are read: scale r (Scale.linear ~name:"color" ()) is the fitted quantitative "color".
Raises Invalid_argument if s is unnamed, if no node of r has the id at, if no scope of the name of s holds at, or if its scope has no scale of that name and kind.
warnings r is the warnings of resolving, in the order of the nodes they are about in the figure, a generated node in the place of the node it lies under, then those about values of the view that no key reads.
equal r r' is true iff r and r' resolve Hugin.equal figures under View.equal views to the same scopes, Scale.equal fitted scales and equal warnings. The figures that bind returns are not compared: they are functions of the figure and the view.