Glossary
The words these guides use, each said for someone meeting it the first time. A word in italics has its own entry.
Backend
The part of the browser a chart draws with: WebGPU where the browser has it, WebGL2 where it does not, and a 2D canvas drawn on the CPU when it has neither. The chart picks the best one by itself; every backend draws the same frame.
Base
The width of time of the pyramid’s finest buckets, its level 0 — one second by default. Choose about the spacing of your points: see the pyramid.
Bucket
A summary of the points in a stretch of time in eight numbers: the first and last point’s time and value, the least and greatest value, how many points, and the sum of their weights. Two neighbouring buckets merge into one without going back to the points.
C ABI
The Application Binary Interface: how a compiled program calls a
library — which functions exist, and how their arguments sit in memory.
nonius-capi gives Nonius a C one, so any language that can call C can
use it. Its version number changes when that layout does.
Column
A pixel column of the chart. A view spreads its time range over its columns, and the chart reads one summary per column.
CORS
Cross-Origin Resource Sharing: the rule by which a browser lets a
page read a server at another address. The server says who may, in
headers; nonius-server allows any page.
Crate
A Rust package, published on crates.io. Nonius is seven of them, from
nonius-format (the bytes) to nonius-server (the program).
Device pixel and pixel ratio
A screen’s own pixels. A page is laid out in CSS pixels; on a sharp screen one CSS pixel is two or three device pixels, its pixel ratio. The chart draws in device pixels, so its lines stay sharp.
ETag
A short tag a server gives an answer — nonius-server uses a hash of
its bytes. A client that has the answer asks again with the tag, and
gets 304 Not Modified with no body if nothing changed.
Exponent
See scale.
Frame
Two meanings. On screen, one picture the chart draws — sixty a second as a person drags. On a live feed, one numbered message carrying new points.
Gap
The longest time between two points that the line still joins. Past it, the line breaks. By default every point is joined; you set the gap from what you know of your data.
Level
One layer of the pyramid. Level 0’s buckets are the base wide; each level above is four times as wide.
Live feed
Points sent as they happen, over a WebSocket, in numbered frames. A frame the network loses is noticed by its missing number and asked for again.
Metadata
A series’ description, as a server answers it in JSON: its time range, its scale, its pyramid, its last point. A chart reads it before any tile.
NSB1
Nonius’s series file format: the points’ three columns (time, value,
weight), the scale, and a checksum, in a container whose first bytes
are NONIUSB1. It is read where it lands in memory, with no decoding
step. A file usually ends in .nsb.
Pick
Finding the point under the pointer: the chart does it for the
crosshair, and a server answers /pick for a page that shows its
image.
Point
The one thing every package takes: t, v and w, three integers —
a time in nanoseconds since 1970 (UTC), a value, a weight.
Protocol
The rules for asking a server about a series over HTTP: which addresses
exist and which bytes each answers. Written to be implemented without
Nonius’s code; nonius-server is its reference.
Pyramid
A series summarised at several widths of time, each level four times as wide as the one below, so a view of any length reads a few thousand buckets instead of every point — and draws exactly the same line.
Pyramid file
A series and its built pyramid in one file, stored as the protocol’s own columns. A server maps it and starts at once, whatever its size.
Raw points
The points themselves, not summaries. A view deep enough in a zoom reads them.
Scale
How many decimal places a series’ values have. At a scale of 2, the
integer 2137 means 21.37. Also called the exponent.
Series
The points of one quantity over time, in time order: one sensor, one instrument, one metric.
Still
One frame drawn on the CPU as a PNG image, with no window and no GPU.
Tile
A small piece of a series cut for a view, so a chart fetches only what its screen shows. A column tile holds summaries of one level; a raw tile holds the raw points of a span of time.
Time zone
A place’s rule for its local time, named as in the IANA database, such
as Europe/Lisbon. Nonius keeps every time in UTC; a zone changes only
the labels.
WebAssembly
A compact program format browsers run at near native speed. Nonius’s Rust core is compiled to it, so the browser runs the same code as the server. Often written wasm.
WebGL2 and WebGPU
The browser’s two ways of drawing on the graphics card. WebGPU is the newer; WebGL2 is everywhere. See backend.
WebSocket
A connection a page keeps open to a server, so the server can send data the moment it has it. A live feed runs over one.
Weight
The w of a point: how much it counts — 1 for a plain reading, the
volume of a trade. Summaries add the weights up.
2D canvas
The browser’s plain drawing surface, drawn by the CPU. The chart’s last backend, used when the browser has no WebGPU or WebGL2.