Fix sky state falling out of sync with manual mode and demo stop - #63
Merged
Conversation
Three related fixes for #60 and #51: - The status line now labels the sky being shown: under a manual day/night override it derives from the forced altitude, so "sky: night" at noon reads the moon phase instead of "daylight". - A theme-color meta tag, rewritten on every render, tints mobile browser chrome (Safari's toolbar) to the horizon's computed chip color — previously Safari kept whatever it sampled at page load, leaving a day-colored bar under a night sky. - playDemo reads mode and place through getters instead of start-time snapshots, so stopping the 24h time-lapse repaints with whatever mode the user switched to mid-demo rather than restoring a stale sky. Also repairs the worktree dev-server launch configs, whose pnpm arg passing no longer survives Astro 7's CLI parsing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
Author
|
gonna merge and test live |
This was referenced Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #60, fixes #51.
What was wrong
Amy's screenshot on #60 shows it: with
sky: nightforced during the day, the status line still read "daylight · salt lake city", and the mobile browser's bottom bar kept its day-colored tint under a night sky.render()fedskyLabelthe real sun altitude, so a forced night sky at noon was still labeled "daylight". It now derives from the altitude actually being shown, so forced night reads the moon phase (e.g. "waxing crescent") and forced day reads "daylight".theme-colormeta, so mobile Safari sampled the page once at load and kept that tint forever. The layout now ships atheme-colormeta thatsky.tsrewrites on every render with the horizon's computed chip color, so the toolbar tracks day/night switches.playDemocapturedmodeandplaceas start-time snapshots; the mode button stays clickable during the demo (its repaint is deferred, not its state change), so stopping the demo repainted the sky the user had already switched away from. It now reads both through getters at demo end.Also repairs the worktree dev-server entries in
.claude/launch.json, whosepnpm run dev -- --portarg passing no longer survives Astro 7's CLI parsing (Unknown command: astro dev --port), and documents the theme-color mechanism in the README per CLAUDE.md.Verified
waxing crescent · san franciscowith the theme-color meta flipping from day slatergb(64, 82, 100)to night navyrgb(29, 42, 97); switching mode mid-demo then stopping repaints with the new mode.pnpm check:contrastholds AAA across all sun altitudes; Prettier and ESLint clean (the two remaining lint warnings are pre-existing in the blog page).🤖 Generated with Claude Code