Skip to content

refactor(model): move the held address reader out of navigation history - #1350

Merged
apresmoi merged 3 commits into
mainfrom
untangle7/s3-1-held-address
Oct 5, 2026
Merged

apresmoi merged 3 commits into
mainfrom
untangle7/s3-1-held-address

Conversation

@apresmoi

@apresmoi apresmoi commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

What changed

  • The held address reader (navigationHref and its owner registry) now lives in site/model/navigation-href.mts. Navigation history registers its reader there and re-exports the getter, so existing callers are unchanged.
  • World resources reads the address from the model module instead of importing navigation history, which removes an import loop between the world and navigation layers.
  • The S3-1 group is retired from the site architecture plan, and .github/site-refactor.json declares the change with layout: "changes".
  • Chunk move: history is now reachable only from the scene router, so the bundler moves it from the scene-datasets chunk into the scene-router chunk. scene-router grows 45417 to 50602 raw (+11%) and scene-datasets shrinks by the same amount. Pinning history to its old chunk with manualChunks was tried and made layout and bytes worse, so the plain move ships.

Per-route bytes against main (all 15 measured routes show the same figures per route shape; client JS astro gzip 368634 to 368570):

Route shape First view gzip First view brotli Total loaded gzip Total loaded brotli Total loaded raw
/, /earth/, /dione/ 325596 to 325524 (-0.02%) 323403 to 323333 (-0.02%) 543975 to 545535 (+0.29%) 539914 to 541510 (+0.30%) 1656584 to 1661829 (+0.32%)
Other routes (raw) 974704 to 974764 (+0.006%) 1654391 to 1659636 (+0.32%)

Total loaded is the first-view closure plus the lazily loaded closure. No route's first view or total grows by more than 0.5%.

Checks

  • Local build comparison lane against main: L3 closure-only differences pass (exit 0), L2 server answers identical on preview, Netlify and Cloudflare (0 differences).
  • pnpm check:architecture, pnpm typecheck, eslint on the touched files.
  • Tests: site/model/navigation-href.test.mts, site/test/navigation-history.test.mts, site/application-world-resources.characterization.test.mts (16 pass).

PR rules

@apresmoi
apresmoi force-pushed the untangle7/s3-1-held-address branch from 8cb55ee to 2f0faca Compare October 5, 2026 20:59
@apresmoi
apresmoi merged commit 475bc80 into main Oct 5, 2026
31 of 35 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