TOOL / EXPERIMENTAL PUBLIC ALPHA

Evidence, given a
disciplined visual voice.

Scientific figures in Python and the browser. Line figures keep color + marker identity, with optional direct labels.

Retained a2 / alpha.3 specimens

Retained alpha.3 Lavender Python line figure: Control uses open circles, Treatment open squares, Model upright triangles, with matching line and marker legend samples
RETAINED ALPHA.3 SPECIMEN / LAVENDER / PYTHON 0.9.0a2 / ORDINARY LEGEND

Retained alpha.3 published-package specimen. Current package identities are shown above; these pixels remain bound to the release that produced them. Select the light Python or dark Canvas specimen for native-size inspection. The converging observations remain close.

PALETTE PINNED INDEPENDENTLY
Compare optional direct labels — same data and marker identities

These retained alpha.3 images show the baseline direct-label treatment and were not regenerated for later releases. Each image below pairs with the ordinary-legend specimen above at unchanged native dimensions: Python 1008 × 624; Canvas 760 × 520, DPR 1. Labels separate the names, not coincident or close observations. These are product examples, not new reference-theme qualification.

Lavender Fog Notebook / Python: the same synthetic series with circle, square and upright-triangle identities copied beside their direct labels

Lavender Fog Notebook / Python

Retained alpha.3 specimen · optional direct labels · unchanged data and output size · click for native size.

Ultraviolet Laboratory / Canvas: the same synthetic series with circle, square and upright-triangle identities copied beside their direct labels

Ultraviolet Laboratory / Canvas

Retained alpha.3 specimen · optional direct labels · unchanged data and output size · click for native size.

Specimen versions, data and image hashes · Run the public example

01 / THE CONTRACT

A shared vocabulary,
not shared pixels.

Plot specification, theme, profile, and portable schema travel together. Python and browser surfaces interpret that contract through separate implementations.

01

Plot specification

Data, encodings, labels, panels, and annotations stay explicit and inspectable.

02

Theme

Semantic color and surface tokens form each named visual system.

03

Profile

Typography, markers, grids, and emphasis can change without rewriting the evidence.

04

Portable schema

Schema 0.4 and renderer API 1 make runtime expectations visible rather than implicit.

02 / THE REFERENCE PROFILE

Three identities.
Two reference themes.

S1 carries an open circle, S2 an open square, and S3 an open upright triangle. Default lines are solid and equal in semantic weight. Color + shape carry identity; line rhythm remains available for independent scientific semantics. Matching line + marker legends teach the same identity drawn in the body; optional direct labels reuse it beside the traces.

Lavender Fog Notebook

Reference light theme for the documented three-series line profile. The retained alpha.3 Python specimen above shows its ordinary legend and optional direct-label treatment at 1008 × 624.

Open retained alpha.3 Python specimen ↗

Ultraviolet Laboratory

Reference dark theme for the same bounded profile. The retained alpha.3 terminal-Canvas specimen shows its ordinary legend and optional direct-label treatment at 760 × 520, DPR 1.

Open retained alpha.3 Canvas specimen ↗

Reference means an evidence-backed exemplar under documented rendering conditions, not universal qualification or a change in default theme selection. Close and overlapping observations may remain difficult to distinguish.

Read the bounded reference profile

03 / THE RUNTIMES

Two first successes.
One explicit boundary.

The shared vocabulary does not promise identical coverage. Python includes the categorical-matrix extension; the browser root currently covers line, scatter, and strip summary, with temporal renderers in a separate extension.

PYTHON / MINIMAL RUNNABLE

From arrays to a saved figure.

figurestead==0.9.0a4
from figurestead import line

figure, axes = line([0, 1, 2], [[0, 1, 0]])
figure.savefig("figurestead-first-success.png", dpi=150)
Open the exact complete example
BROWSER / EXCERPT

A complete contract enters Canvas.

@figurestead/web@0.9.0-alpha.5
import { createFigurestead } from "@figurestead/web";

const figure = createFigurestead(canvas, contract, {
  autoplay: false,
  reducedMotion: true,
});
figure.resize();

This excerpt assumes canvas and a complete normalized contract are already defined.

Open the complete browser example

04 / THE EVIDENCE

Inspection includes
the limits.

Version-bound examples, explicit rendering facts, and bounded contracts make the alpha inspectable. The showcase is a deterministic synthetic fixture, not a scientific finding or a new qualification result.

Retained alpha.3 specimen provenance

Producing a2/alpha.3 package versions and hashes, the deterministic 29-observation trajectories, Python/Canvas runtime facts, and all four exact PNG hashes. Each ordinary/direct pair preserves its inputs and output dimensions.

Inspect the specimen manifest ↗

Bounded reference-theme evidence

Recorded normal-color and grayscale inspection at declared sizes supports the documented three-series profile. The retained showcase does not extend that designation to arbitrary densities, overrides or viewing sizes.

Read reference scope and limits ↗

Rendered-series contrast

An explicit single-layer rendered-context audit uses the supplied substrate, opacity and compositing facts. It is distinct from static palette inspection and is not a whole-figure visibility guarantee.

Inspect the rendered-context audit ↗

Direct-label contract

Python direct_labels=True and browser style.directLabels: true opt into the one-panel, 2–3-series treatment with single-line printable ASCII labels. It reuses actual marker identity. Unsupported text, geometry or insufficient fit returns the complete ordinary legend; active browser transitions use ordinary treatment until settled.

Read the supported treatment ↗Compare the public example ↗