An architecture diagram: components joined by connections, inside nested boundaries such as
a cloud region, a network or a system, laid out like a flow chart.
One box of a boxplot chart: a category with either its observations, from which chartlet
computes the box, or the five numbers of a box that was computed elsewhere.
A class diagram or entity-relationship diagram: boxes with an attribute and a method
compartment, joined by relations with their cardinalities, laid out like a flow chart.
What the reader should look at first in a diagram: up to two nodes, which get the accent
outline and tint, and a path, whose edges get the accent line. Everything else stays neutral.
Text measured with the advance widths of a TrueType or OpenType font that the caller supplied.
Kerning and shaping are not applied, and only the basic multilingual plane is mapped: scripts
that need shaping (Arabic, Indic scripts) are outside what chartlet lays out.
A funnel: stages from the first to the last, each narrower than the one before as the value
falls; or a pyramid of ranked levels, the first at the top.
A user journey: stages as columns with what the customer does, where, thinks and feels in each;
as a service blueprint it adds what the service does in front of and behind the customer.
The provenance of one render: which version of chartlet produced which output from which
specification, with which options and warnings. It carries no timestamp, so the same render
always yields the same manifest.
A mosaic chart (also called a Marimekko chart): columns whose width is their share of the whole
and whose segments split each column by share, such as the market shares of several regions
split by product.
A note on a flow chart, class or architecture diagram, such as an assumption or a limitation.
On an element it is a box beside the element, joined to it by a dotted line that only says the
note explains it; the line is no edge, relation or connection of the model. On a frame (a
package or a boundary) it stands inside the frame without a line, and without on it explains
the diagram as a whole and stands in a band below it.
A question the model can be seen under, such as who runs a component or how much technical
debt it carries, with the categories that answer it and the components in each. Only what
the categories list is shown; nothing is derived.
A polar chart: one value for every category of a cycle (months, hours, directions), drawn at an
angle by the category and a distance from the center by the value, which is zero at the center.
A Sankey diagram: nodes in columns, joined by bands as thick as the flow between them. The
nodes are the labels the links name, in the order they first appear.
A scatter plot: points on two numeric axes, in up to four groups, with threshold lines and
names on the points that matter: a volcano plot, a Manhattan plot, a regression residual.
Kaplan-Meier curves: the share of each group still without the event as time passes, from
observed times of which some ended in the event and some were cut off (censored).
What a chart says without its graphic: the description its SVG carries and the data table of
its HTML profile, as text, for hosts that build their own accessible wrapper around the SVG.
A timeline: phases that run from a start to an end, milestones on a day, lines for days that
matter, and which item follows which. Gantt charts, roadmaps, the course of a procedure.
A tree: one root and, below it, nodes that each name their parent; the children of a node
keep the order of the list. Organization charts, ownership structures, hierarchies of norms
or components.
A value chain map: components placed by how visible they are to the user (up) and how far
they have evolved (right), with the dependencies between them and where each is moving.
A view on an architecture model: a key that names it, its own title and description, and
the components it shows. Connections between them come along unless the view lists its own;
a dynamic view instead lists steps, occurrences of existing connections in order.
A waffle: a grid of squares, each of which stands for the same share of a whole. The parts
fill the squares one after the other, reading order, so that shares can be counted.
Which way a connection runs. A connection both ways stays one connection: one relationship
that is used in either direction, such as a socket or a synchronisation.
What a node or an edge of a diagram means beyond its kind, the same in every diagram: each
role has its own color and a sign that does not depend on color, a pattern or a badge, and
the legend below the diagram names the roles it uses.
How much room a layered diagram leaves between its layers and between neighbours in a layer.
Only the gaps scale: steps, texts, margins and the distance between two parallel lines keep
their size, and a compact gap stays at least 16 pixels between steps, 20 between layers.
How diagrams are drawn, apart from their palette: the classic look gives every kind of node a
color of its own; the editorial look is neutral paper and ink with one accent.
The main path of a diagram: the ids of its steps in order, each joined to the next by an edge,
or the two ends of the way, which the shortest way along the edges joins.
A side of a node, named after the direction of the flow so that it holds in either
orientation: start faces the steps before, end the steps after, and left and right are
the sides across the flow, left and right in portrait, top and bottom in landscape.
How much a finding weighs: a Gap is missing documentation the specification has a field
for; a Hint is something to look at, which may well be intended.
One end of a zoom step: a category index on a bar or line chart, a timestamp on a time chart.
A whole number from 0 up reads as an index first, so that a category chart keeps its
serialized form; on a time chart the same number is Unix seconds.
Help for the warnings of rendering spec (the JSON text) with options. Only warnings that
have help are answered; a warning whose correction the compiler cannot verify gets honest
guidance without a patch. Returns nothing for a specification that does not render.
Applies a theme file to a specification, both as JSON text, and returns the specification.
A theme file holds a theme, a look and tokens: the theme and the look are used where the
specification names none, and a token of the specification replaces the token of the file with
the same name.
The SVG with the font carried as a base64 @font-face for family, placed behind the opening
tag of the root. The font is embedded as given; whether its license allows that is the
caller’s to check.
Inspects the architecture model, flow chart or class diagram input, leaving out the
inspections whose codes are in disabled. Findings follow the order of INSPECTIONS, and
within one inspection the order of the specification.
Renders with the advance widths of font, a TrueType or OpenType file the caller supplies:
the layout measures with it instead of the built-in metrics, and font_glyphs_missing names
the characters it has no glyph for. The output still only names the family; see embed_font
to carry the file in an SVG. Nothing is fetched or looked up on the machine.
The SHA-256 digest of message, as FIPS 180-4 defines it. The working variables keep the standard’s one-letter names
so the round function can be read against the specification.
The part of the shared stylesheet that every chart relies on, whatever its type: colors,
text, grid and axes. A page that loads type parts separately loads this part first.
The shared stylesheet with only the rules of chart_types: enough for a site that renders no
other types. It is stylesheet_common followed by stylesheet_types, and the part of
each type comes in the order of chart_types.
The parts of the shared stylesheet that only charts of chart_types use, without the common
part. Each type’s rules style only charts of that type, so the parts of separate calls can be
loaded as separate files, in any order, after stylesheet_common.
Validates a chart specification and returns its text alternative; that of the default view
for an architecture model with views (see ChartSpec::view for another view).