Deployment
The live Rosetta app is mounted under https://philipshih.org/rosetta from the static bundle in public/rosetta.
Static Asset Caching
Each deployment revalidates /rosetta/index.html, which points browsers at the newest bundle files. Because Vite stamps each generated file under /rosetta/assets/* with a hash of its contents, the website tells browsers to cache them for a year as immutable.
Large versioned demo model assets under /portfolio/*/models/* get the same year of immutable caching. Media that keeps the same filename between updates, such as /assets/*.mp3 and Rosetta logo or favicon files, is cached for a day and refreshed in the background (stale-while-revalidate).