Skip to content

Six UX improvements: star-map Atlas, share cards, guided tour, calm provenance, mobile world page - #3

Merged
luworks merged 21 commits into
mainfrom
integ/six-improvements
Nov 7, 2026
Merged

luworks merged 21 commits into
mainfrom
integ/six-improvements

Conversation

@luworks

@luworks luworks commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Integrates four reviewed branches:

  • Atlas star map (t3/atlas-star-map-redesign): visual upgrade of the Atlas, with a 30fps ambient cap, an idle reduced-motion state and pause when hidden.
  • Social share cards (t3/social-share-previews)
    • Procedural 1200×630 PNG cards at /og/home.png and /og/world/:owner/:repo. They are cache-only: no collection and no model calls.
    • Bounded LRU and render rate limit.
    • OG and Twitter meta tags using MOONSHOT_PUBLIC_ORIGIN.
  • Cinematic auto-tour (t3/cinematic-auto-tour)
    • New /tour route linked from the homepage. It only makes cache GETs.
    • Supports reduced motion, pausing when hidden and ?record=1.
    • Adds an optional, backward-compatible camera prop to WorldCanvas.
  • Calm provenance + mobile world page (t3/refine-provenance-mobile-world)
    • A summary chip with a keyboard-accessible disclosure. All observed/inferred/unknown and stale text is kept.
    • No horizontal overflow at 320, 390 or 768px.
    • Canvas labels are culled so they do not overlap.

Verification on the merged branch:

  • bun run check: pass.
  • bun run test: 578 pass, 0 fail.
  • bun run build: pass.
  • Full browser suite (offline SYNTHETIC fixtures, zero budget, empty cwd): 90 passed, 0 failed, 2 skipped (screenshot-only specs).

No paid API calls. Chromium only.

🤖 Generated with Claude Code

ubuntu03 and others added 21 commits November 6, 2026 17:22
Zero-dependency Canvas2D subset with a CPU deadline, a filtered RGB PNG
encoder over node:zlib, and an original monoline font limited to ASCII-safe
glyphs for untrusted repository text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
World cards reuse the shared world art (layout, terrain, connections,
buildings) for up to 30 districts in the requested style; the homepage card
shows one world through all five perspectives with the tagline. Meta helpers
build escaped, validated, absolute share metadata.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/og/home.png and /og/world/:owner/:repo?style= read only the existing world
cache. Misses, unverified sources and render-budget failures serve the
generic card with a short cache; hits are LRU-cached per repo+style+head with
CDN cache headers and ETags. Origin comes from MOONSHOT_PUBLIC_ORIGIN only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…landmarks and capped ambient motion

Paints a parallax star field, editorial nebulae, scenic routes and planet
sprites that hint at each landmark's suggested style. Unchecked, missing or
unavailable landmarks render as dashed ghost outlines with ?/x/! glyphs.
The scheduler eases the camera at display rate, caps ambient motion near
30fps and stops entirely when the tab or map pane is hidden or the user
prefers reduced motion. data-motion exposes the state for tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… pause

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd modes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cards show "Stale snapshot · Nov 4 · 30 districts" instead of a dense
caption. The full record (state, evidence, observed/inferred counts,
status incl. unknown, head SHA, capture time, "not live activity") stays
in the DOM behind a keyboard/screen-reader accessible disclosure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Labels must sit on-screen, clear of map chrome marked as occluders, and
within an area budget; larger districts win and the selected/hovered
label always shows. Compact labels below 640px.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the loud stale strip and caption footers with a provenance chip
whose disclosure keeps the original status text, observed/inferred and
unknown counts, head commit link and PT capture time. One-row topline
down to 320px, compact heading, icon-only legend on phones, and a
scroll-snapping style switcher with edge fades that keeps the active
style in view.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@luworks
luworks merged commit f756ecb into main Nov 7, 2026
2 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