The construction traces show GRIP introducing vertices and refining their positions. The saddle animations rotate fixed saved coordinates. Use the controls below to play or stop motion; every display starts with a still view. Stopping returns to that preview. On GitHub, follow the README’s showcase link to reach this page. Without JavaScript, the still views and recipes remain usable.
These larger showcases are separate from the small, executable Getting Started and synthetic graph examples.
Triangle construction

A level-6 Sierpinski triangle, recorded with
trace.grip() in two dimensions,
preset = "carpet", and seed 1. This is a construction
sequence, not elapsed physical time. Frames are aligned to the
generator’s reference coordinates and displayed in a common frame so
changes in orientation and overall scale do not obscure the
refinement.
The maintained asset generator contains the graph construction, complete solver call, frame selection, alignment, symmetry convention, limits, colors, and export settings. The output is 600 by 600 pixels, 4 frames per second, with a hold on the final layout. Its poster is taken from that same final frame.
From a checkout of the version whose display you want to reproduce:
git clone https://github.com/pgajer/grip.git
cd grip
# For a historical display, check out its recorded commit before rendering.
Rscript -e 'install.packages(c("pkgload", "magick", "png", "rmarkdown", "knitr"))'
make readme-assetsThe build
record records the source commit, package version, seeds, settings,
and R session for these assets. A checkout also needs a C++17 toolchain.
The magick R package may need ImageMagick development
libraries when installed from source. Rendering is an explicit task;
installing grip does not run these large traces.
For a smaller example using the public generator:
library(grip)
edges <- edges.sierpinski.triangle(3)
trace <- trace.grip(edges, n = max(edges), dim = 2,
preset = "carpet", trace = "level", seed = 1)
plot.layout(trace$final, edges = edges, pch = 16)This smaller level-3 graph does not reproduce the level-6 asset. For tracing and scoring your own run, follow Tracing and Diagnosing Layouts.
Carpet construction

The same make readme-assets command builds this level-4
carpet using preset = "carpet", seed 24, and a round trace
in two dimensions. The generator aligns frames to the recursive grid and
uses shared plotting limits. The synthetic graph guide provides
smaller executable examples for inspecting holes, graph lengths, and
reference coordinates.
Saved saddle rotations

These are frozen display configurations of 1,000 corresponding
vertices and 1,977 triangles. Their saved labels are “Original saddle”,
“Metric MDS”, and “MDS + edge-KK”. The fixture does not record the
solver version, objective, initialization, convergence, or alignment
transform used to produce the fitted coordinates. In particular, the
historical “Metric MDS” label does not establish that this display used
the current stress-minimizing metric.mds(). Use it to
inspect the saved shapes, not to compare current solver accuracy.

Both animations rotate fixed, already aligned coordinates around the vertical axis, at 20 frames per second and 12 seconds per revolution. They share their camera convention, scales, and triangulation; the overlay uses blue and orange for the saved fits and gray for the generating saddle. Motion does not show optimization or provide an accuracy measure.
The fixture manifest records what is known and what is missing. To replay the stored coordinates without rerunning fits:
These explicit WebGL rendering targets need ivue with
layer3D.axes(), camera.zup(), and
animate.frames(), plus rgl, htmlwidgets, Pandoc, Node.js,
Playwright, and a compatible browser. See the renderer
and capture
script for their environment settings. They emit render provenance
alongside the output; they are not a complete recipe for fitting the
historical configurations. Ordinary README builds reuse the saved saddle
assets and need none of these WebGL tools.
For a fully executable current-method example with known graph/reference semantics, use the synthetic graph guide. Graph-path error, straight-line-distance error, and reference agreement answer different questions; see Choose a score.