Skip to content

Load the dashboard into the layout it keeps - #16

Merged
NimmLor merged 1 commit into
mainfrom
skeleton-matches-results
Nov 1, 2026
Merged

NimmLor merged 1 commit into
mainfrom
skeleton-matches-results

Conversation

@NimmLor

@NimmLor NimmLor commented Nov 1, 2026

Copy link
Copy Markdown
Owner

The loading skeleton was three grey blocks shaped like nothing on the page, so everything jumped when the runs arrived. Now the page loads straight into the layout it keeps: the real dashboard, its numbers shown as placeholders until they arrive.

How

  • Placeholder history (web/src/placeholder.ts): four days of runs of all 137 deployed functions, built from VARIANTS and infra's memory sizes and passed through the same toPoints as real runs. Each variant gets production's rounded typical figures, x86_64 and per-size patterns, and version strings. That way the leaders, line wraps and the arm64 headline match what loads. For example, the warm-start leader is "Node.js 24, Web Function", which wraps where "LLRT" wouldn't.
  • App: until the first load, it renders the dashboard on that history inside an inert display: contents wrapper (so the toolbar stays sticky), with a screen-reader "Loading runs" status. The error and "No runs yet" card is unchanged.
  • Veil (index.css): under .pending, readings become pulsing bones the size of their text. That covers .measured, mono text, and a new .datum class for words the data decides, such as leader names, the arm64 headline and "faster/slower". Plot lines and .marks (dots, bars, ticks, dumbbells) are hidden. Titles, legends, names and controls show as they will.

Verified

I compared every in-flow element's position and height, placeholder against the production history, at 320, 360, 390, 640, 768, 1024, 1280, 1440 and 1920 px: no element differs, and the page heights are equal.

Limits

  • The match depends on production keeping roughly today's ranking and version strings. If a different function starts leading a panel, the TYPICAL table needs refreshing.
  • "Last run …" changes width with time; the placeholder uses "2 hours ago", the average.

Created with Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

The loading skeleton was three grey blocks shaped like nothing on the
page, so everything jumped when the runs arrived. Until the first load,
the dashboard now lays out a placeholder history of every deployed
function at production's typical figures, its readings veiled as bones
and its lines and marks hidden, so the loaded page lands in the same
place at every width.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NimmLor
NimmLor merged commit d649477 into main Nov 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant