Add the Space Console landing page - #1
Merged
Merged
Conversation
The page that explains the product to someone who has never seen it: your TV is the console, every phone is a controller, and there is nothing to install. Zero-build and zero-framework like the rest of the org — one `index.html`, one stylesheet, one ES module, no bundler. Same tooling as the app repos (eslint flat config, `scripts/stamp.mjs` cache-bust, the shared `pages.yml`), with the stamp extended to version the stylesheet too: a landing page is mostly CSS, and a stale cached sheet is the most visible way for a redeploy to look broken. Sections: hero, how it works in three steps, the adaptive controller, all 33 games, the WebRTC story, the party-console details, and a closing CTA. The CTAs open the live console on Render. Every screenshot is a real capture of the running console — the launcher with three controllers actually joined, the in-game HUD with its rejoin QR, the phone pads each game asks for, and one poster per game. Nothing is mocked or retouched, so the page cannot promise something the product doesn't do. Verified at 1440 / 1024 / 834 / 768 / 390: no horizontal overflow, no console errors, every scroll reveal fires, reduced-motion parks each animation on a truthful final state, and body text measures 7-8:1 contrast.
|
🚀 Preview for |
This was referenced Aug 4, 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.
The marketing site — the page that explains Space Console to someone who has
never seen it. Your TV is the console. Every phone is a controller. Nothing to
install.
Preview URL will be commented by the Pages workflow once this run finishes.
What's on the page
How it's built
Zero-build and zero-framework like the rest of the org: one
index.html, onestylesheet, one ES module. No bundler, no dependencies at runtime (Google Fonts
is the only external request). Same tooling as the app repos — eslint flat
config,
scripts/stamp.mjs, the sharedpages.yml.One deliberate difference: the stamp versions the stylesheet as well as the
scripts. A landing page is mostly CSS, and a stale cached sheet is the most
visible way for a redeploy to look broken.
The screenshots are real
Every image is a capture of the running console, not a mockup:
tv-menu.jpg— the launcher with three controllers actually joined(P1 Veton, P2 Ana, P3 Rijad), the real production host in the join bar and a
live room code
tv-rc-rush.jpg— a game running with the in-game HUD open: the rejoin QR,the room chip and every seat. This is the proof for the "scan to rejoin
mid-game" claim, which used to be text-only
phone-*.jpg— the pads each of those games asks forthumbs/*.jpg— one poster per game, all 33They were captured by driving the real apps with Playwright against the
single-origin server, with Chromium's host resolver pointed at the production
hostname so the launcher's own readout renders what production renders. Nothing
is retouched. When the console's UI changes materially, recapture rather than
edit, so the page can't promise something the product doesn't do.
Verification
At 1440 / 1024 / 834 / 768 / 390:
prefers-reduced-motionparks each animation on a truthful final state — theunder-the-hood diagram settles on the direct-link phase with signaling idle,
marquees become plain scrollable rails, nothing is left frozen or invisible
npm run lintandnpm run buildboth passFollow-ups (separate PRs)
landingto the static build and point the root redirect atit, so
space-console.onrender.com/opens the landing page and the consolestays at
/game-launcher-web/fixed separately, and this page's screenshots already show the result