Skip to content

Huginn flies home on a return, cards follow his line, and a more realistic aurora - #20

Merged
craig-o-curtis merged 7 commits into
mainfrom
15-card-reveal-order-is-hard-coded-to-two-cards
Nov 6, 2026
Merged

craig-o-curtis merged 7 commits into
mainfrom
15-card-reveal-order-is-hard-coded-to-two-cards

Conversation

@craig-o-curtis

@craig-o-curtis craig-o-curtis commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Closes #15.

Huginn and the page coming in

  • Card order (Card reveal order is hard-coded to two cards, child site nav back header #15). The fly-in no longer assumes header, card, card. Each box says what it is (header, card or text). A card is drawn in as Huginn flies over it or makes his closest pass by it, and no later than a set time after the card before it along his line, so any number of cards works. Checked with a temporary third card.
  • Coming back. From another of the site's pages (the GMT or worktree docs), or by Back or Forward, the header stays put; the title, intro and cards come in again. A fresh visit or a reload plays the full entrance.
  • The homecoming. On a return Huginn flies home toward the viewer instead of in over the shoulder: from the side of the card for the page left, past the cards and out over the top or a side, never out the bottom. About 2 in 5 pass as close as the first fly-in. Gliding speed is a raven's own (6–8 m/s), and the page is back within 3 s, with a backstop on the page in case the sky is slow.
  • Smoother first fly-in on phones. The skyline lift no longer bends his line sharply when he is a few metres away.

Header

  • The GitHub and Discord icons are the shield's ice instead of cyan. The sonar focus ping stays cyan.

A more realistic aurora (a nod to worktree's greens)

image image
  • New theme tokens --gmt-aurora-green, --gmt-aurora-red, --gmt-aurora-fringe: oxygen's 557.7 nm and 630 nm lines and nitrogen's pink-magenta.
  • Colour by altitude: green body, faint red atop tall rays, pink lower fringe while active. A faint green airglow band sits above the horizon.
  • Mostly quiet, with an occasional surge: brighter, more rayed, faster, deeper folds.
  • The water is a truer mirror. Ripples tilt the reflection by a degree or two, and below the skyline it mirrors the dark mountains or city.
  • Ísafjörður shows its fjord. The skyline builder now records water seen from land (Copernicus DEM), and the rebuilt Ísafjörður skyline cuts that window into the mountains; the ridge itself is unchanged. With the far mountains about 2° high, the fjord mirrors them, and the aurora shows as glints where ripples catch it.

Previewing (dev server only)

  • ?huginn=return or ?huginn=first picks the fly-in. &from=/gmt/ sets the page to come back from.
  • ?aurora=active or ?aurora=calm holds the aurora in a surge or quiet.

Checks

pnpm lint && pnpm format:check && pnpm check && pnpm build pass on each commit.

The fly-in no longer assumes the order header, card, card. Each box the
page hands the worker says what it is (header, card or text), and each
card is drawn in as Huginn flies over it or makes his closest pass by it,
then no later than a set time after the card before it along his line.
Any number of cards now works.

Coming back from another of the site's pages (the GMT or worktree docs),
or by Back or Forward, the header stays put and only the title, intro and
cards come in again. Huginn flies home instead: from close by in the
distance, starting on the side of the card for the page left, past the
cards and out over the top or a side, now and then as close as the first
fly-in. The page is back within 3 s.

Also keeps the skyline lift from bending his line sharply when he is only
a few metres away, which made the first fly-in jerk on phones.

In development, ?huginn=return or ?huginn=first picks the fly-in, and
&from=/gmt/ the page to come back from.

Closes #15
The GitHub and Discord icons were the theme's cyan. They now match the
shield: grey ice at rest, ice on hover or focus. The focus ring and its
sonar ping keep the theme's cyan.
Adds --gmt-aurora-green, --gmt-aurora-red and --gmt-aurora-fringe for the
sky: oxygen's green line (557.7 nm), oxygen's red line (630 nm) and the
pink-magenta of nitrogen along an active aurora's lower edge, as a camera
records them.
The aurora takes its colours from the emissions, by altitude: oxygen's
green from the lower border to about 200 km, its faint red above that
(mostly atop tall rays), and while active, nitrogen's pink-magenta along
the lower edge. A faint green airglow band sits some ten degrees above
the horizon.

It is mostly quiet, with a surge now and then that builds over a minute
or so: brighter, more rayed, faster rays, deeper folds, the fringe and a
redder top. Each load starts somewhere different along it.

The water is a truer mirror. A ripple tilts the reflection by a degree
or two rather than stretching it, and below the skyline the water mirrors
the dark mountains or city, read from a new skyline texture.

Ísafjörður shows its fjord. The skyline builder now records water seen
from land between a far and a near shore, and the rebuilt Ísafjörður
skyline (ridge unchanged) cuts that window into the mountains. With the
mountains about 2° high across it, the fjord mirrors them, and the aurora
shows as glints where ripples catch it.

In development, ?aurora=active or ?aurora=calm holds it in a surge or
quiet.
@craig-o-curtis craig-o-curtis added the enhancement New feature or request label Nov 5, 2026
@craig-o-curtis

Copy link
Copy Markdown
Contributor Author

/craig-review

@craigs-reviewer craigs-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code-reviewer: minor issues

This PR makes the fly-in order kind-based and handles any number of cards. It adds a homecoming flight for return visits, with the header kept in place, and reworks the aurora shading: emission colours, activity surges, a skyline-aware water mirror and the Ísafjörður near-shore strip. I traced the target indexing, the CSS precedence between ng-return and ng-await, the near-strip vertex counts and the two-byte ridge texture packing and unpacking, and found them consistent. The only point worth checking is that the homecoming is planned in one synchronous burst on a frame. The other two findings are small suggestions.


Reviewed b1f8831 for craig-o-curtis · claude-opus-5-5 · 11 files · $1.06

Comment thread apps/site/src/scripts/aurora.raven.ts Resolved
Comment thread apps/site/src/components/Aurora.astro Resolved
Comment thread packages/theme/tokens.css Resolved
Planning a homecoming can take a few milliseconds on a slow phone, so the
gap after that frame says nothing about whether frames keep up. It is now
left out of paceMs, so one slow plan cannot switch the fly-in to 30 fps
for the rest of the visit.

A missing colour token also reads as black now, not as the token before
it.
Each card now states where its docs sit on this site (data-ng-path,
"/gmt/"), and only that counts when picking the card the visitor came
back from. Its other links, such as GitHub, may lead off the site and no
longer take part. Works the same on a dev server, where the docs links
still point at northguild.dev.
tokens.css is copied from GMT and would lose NorthGuild's own tokens the
next time it is copied. The aurora colours move to tokens-aurora.css,
imported by the sky that uses them, and tokens.css is back to the copy.
@craig-o-curtis

Copy link
Copy Markdown
Contributor Author

Thanks for the review. All three comments are addressed, one commit each, now pushed:

  • 04ba939: the frame after a homecoming is planned is left out of the 60 fps pacing check. Planning measured 0.2–4.5 ms here.
  • 3bc51fd: the card come back from is matched by its own docs path (data-ng-path), so off-site links take no part and the dev preview still works.
  • e843c15: the aurora tokens live in their own tokens-aurora.css, and tokens.css is back to the copy from GMT. A missing token now reads as black, not the previous colour.

pnpm lint && pnpm format:check && pnpm check && pnpm build pass.

@craig-o-curtis
craig-o-curtis merged commit 1b0aaf9 into main Nov 6, 2026
1 check passed
@craig-o-curtis
craig-o-curtis deleted the 15-card-reveal-order-is-hard-coded-to-two-cards branch November 6, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Card reveal order is hard-coded to two cards, child site nav back header

1 participant