feat: migrate site to Astro with interactive 3D wireframe logo#22
Merged
Conversation
Replace the VitePress site with an Astro + Vue + Tailwind v4 build, and introduce a redesigned homepage centered on a real 3D wireframe of the UnitsML mark. Highlights - 3D wireframe logo (Logo3DWireframe.vue) — manual SVG 3D projection of the polygon mark, edges colored by Y position through the 7 official BIPM SI Brochure base-unit colors. Cursor parallax (rotateX/Y) reads zero rotation when the cursor is at logo center, then tilts away. - Strummable strings — each of the 48 wireframe edges is a string tuned to a C major scale across 1.5 octaves (C5 A4 G4 F4 E4 D4 C4). Pluck on click, strum on drag, with three synth voices (piano, bell, electronic) via Web Audio. - The Units Song — three recognizable public-domain melodies (Ode to Joy, Amazing Grace, Twinkle Twinkle Little Star) triggerable by word, button, or console. - Sounds-have-units educational readout — live panel showing each note's frequency (Hz = s-1), period (ms), wavelength (cm), and MIDI number, tied back to the SI base units. Toggled by a music-note emoji. - Dark mode toggle with no-flash bootstrap and localStorage persistence. - Hero dim-symbol collection game (L M T I Θ N J -> Master of Dimensions). - Word-trigger easter eggs: nist, oasis, calconnect, bipm, iec, ocx, wappi, units, si, 2003, hello, plus SI base unit names -> fact cards. - Count-up UnitsDB stat counters (IntersectionObserver + rAF). - Chrome-particle logo click burst + 5-click combo cascade. Content refresh - Frame UnitsML as "since 2003 - 23 strong years and counting" throughout (about, history, who-uses-unitsml, WappiMascot facts). - Front-page gutter fix (max-width + auto margins on home-hero and section). - Replace GitHub text link in nav with a GitHub mark SVG button. Build and infra - astro.config.mjs, src/ tree, src/content collections, src/layouts, src/components/islands/* (Vue 3 islands via client:load and client:idle). - .astro/ build cache and kimi-export-session_*.md added to .gitignore.
🔗 Link Check Failed |
This was referenced Jul 23, 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.
Summary
Replaces the VitePress site with an Astro + Vue + Tailwind v4 build, centered on a redesigned homepage that turns the UnitsML mark into a real 3D wireframe you can play as an instrument.
Hero: 3D wireframe logo
Strummable strings
The Units Song — 3 recognizable melodies
ode,grace,twinkle), by button, or viaunitsmlEE.playMelody()in the consoleSounds-have-units educational readout
Easter eggs (type anywhere)
nist,oasis,calconnect,bipm,iec,ocx→ fact card with logometer,kilogram,second,ampere,kelvin,mole,candela→ 2019 SI definition card with defining constantwappiunits,unitsml,unitsdb,si,2003,hellohelpin the console lists every triggerOther
.home-hero/.section).astro/build cache andkimi-export-session_*.mdsession exports added to.gitignoreTest plan
npm run buildsucceeds locallyhelpin console → lists all triggersNotes
Please merge with rebase-merge.
Test plan
[Bulleted markdown checklist of TODOs for testing the pull request...]