feat(site): add Nintendo 3DS and PS Vita hero demos - #403
Merged
Conversation
doodlewind
marked this pull request as ready for review
September 11, 2026 07:56
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 homepage hero includes a white New Nintendo 3DS KTR-001 (standard size, not LL/XL) and black PS Vita PCH-2000, with PSPMAN first in the existing four-case strip. The Motion chapter retains its PSP. Both exterior models are authored in Blender from manufacturer dimensions and credited physical-device photographs. Editable
.blendscenes retain individual components, materials, cameras and studio lights; the web GLBs batch static parts by material.The 3DS includes both screen sizes, removable plates, colored buttons, circle pad and C-stick, speakers, cameras, sliders, ports and shoulder controls. Its upper assembly follows
Lid_Hinge, with a savedLid_OpenCloseaction; the homepage presents it at 155° open. The Vita includes its curved shell, glass lens, controls, cameras, speakers, micro-USB and card covers, rear touch pad and printed pattern. Its four front corners have concave reliefs: L/R fill the upper chassis pockets below the front lip, while the lower corners retain curved strap bridges around open passages. The corner geometry follows 4Gamer's PCH-2000 teardown close-ups. Small-feature placements and material values are estimated from photographs; these are exterior reconstructions, not scans or internal hardware models.The 3DS runs the existing Contacts demo with independent 400×240 and 320×240 outputs: selecting a contact on the lower screen updates the upper card, and dragging scrolls the list. Vita runs the motion studies at 960×544. The browser host uses the auxiliary root, framebuffer and hit tests now provided by main; its initialization option and imperative surface-creation method share the same state and reset lifetime; each new device owns an AppInstance, and previews pause outside the viewport. The shared PSP Stage remains in use in the Motion chapter, with its markup unchanged. The hero captions read Nintendo 3DS and PS Vita. Dragging the shell rotates either device. The captions contain only the names. Lid icons, view menus, angle sliders and demo subtitles are removed; loading and accessibility labels use the same short device names.
The hero keeps its heading, copy, CTA row, background video and case strip. Three review compositions use the same live models:
/?hero=cascade(angled, upper-left/lower-right),/?hero=duet(front views side by side), and/?hero=stack(vertical arrangement).cascadeis the default preview. The unlisted/hero-layouts/gallery switches between desktop and mobile screenshots and links to each live page.The homepage frame-clock histogram and event/callback boundary markers use green independent of the yellow theme accent. Browser favicons use the yellow console outline as their silhouette, with transparent pixels outside; SVG, PNG and ICO assets are regenerated and versioned to refresh cached icons.
Sources, rebuild commands and preview gallery · Photographic references
Validation:
bun run site:buildand asset rebuild withbun site/build.tspassed; emitted GLBs match their source assets.bun test tests/site-showcase.test.ts tests/handheld-models.test.ts tests/site-stage.test.ts: 23 passed, including exported-geometry raycasts through both strap passages and into the recessed shoulders.cargo test --manifest-path engine/wasm/Cargo.toml: 3 passed.git diff --checkpassed. After integrating main11cb83fb,bunx tsc --noEmitreports two test-only errors intests/indexed-image.test.ts:7andtests/media.test.ts:84; both reproduce unchanged in an isolated checkout of that main commit.bun site/verify-hero-layouts.ts: six review captures check short device names, absence of caption icons and control menus, and the PSPMAN dialog in each variant..blendsource.Validation covers Blender assets and browser demos; no physical-console deployment is claimed.