Accessible Weather Center — media library Built 2026-08-09 from the transcoded, reorganized assets/ tree. 15 archives, 1.32 GB raw -> 1.24 GB packed. READ THIS IF YOU HAVE DEPLOYED BEFORE ------------------------------------- This set REPLACES the one built 2026-08-06. Do not mix them. The library was reorganized on 2026-08-09. Everything now lives under either shared/ (used by every emulated machine) or devices// (specific to one machine), where it used to sit in flat top-level folders. The old archives expand to the OLD layout — backgrounds/, themes/, icons/ at the root — and the application no longer looks there. Unpacking them now gives you a site that 404s most of its media. The old set has been moved to superseded-2026-08-06/ in this directory. Once this one is deployed and verified, that folder can be deleted. If the server still has the old tree, clear it before unpacking rather than extracting on top — the leftover top-level folders would sit there forever, served by nobody and confusing the next person to look. sudo rm -rf /var/www/weather.codyhurst.com/assets The inbox archive is gone on purpose. It held raw un-triaged WeatherSTAR 4000 icon dumps; those have been sorted into shared/icons/legacy/ and the staging folder is empty. There was never any reason to serve it. THE ARCHIVES ------------ Each expands to its own folder, so extracting them all into ONE directory reconstructs the tree. shared/ is needed by everything; a devices/ archive is only needed if you care about that machine. assets-shared-music.tar.gz 481M -> shared/music/ assets-shared-narration.tar.gz 342M -> shared/narration/ assets-devices-intellistar2.tar.gz 217M -> devices/intellistar2/ assets-shared-icons.tar.gz 100M -> shared/icons/ assets-devices-weatherscan-v2.tar.gz 55M -> devices/weatherscan-v2/ assets-devices-intellistar1.tar.gz 46M -> devices/intellistar1/ assets-shared-fonts.tar.gz 16M -> shared/fonts/ assets-shared-backgrounds.tar.gz 5.9M -> shared/backgrounds/ assets-shared-sfx.tar.gz 4.5M -> shared/sfx/ assets-devices-weatherscan-local.tar.gz 4.3M -> devices/weatherscan-local/ assets-devices-weatherscan-v1.tar.gz 3.8M -> devices/weatherscan-v1/ assets-shared-sounds.tar.gz 533K -> shared/sounds/ assets-devices-weatherstarxl.tar.gz 258K -> devices/weatherstarxl/ assets-shared-logos.tar.gz 160K -> shared/logos/ assets-data.tar.gz 79K -> data/ COPY TO THE SERVER ------------------ rsync -avP /home/cody/awc-assets/*.tar.gz \ /home/cody/awc-assets/SHA256SUMS \ cody@weather.codyhurst.com:/tmp/awc-assets/ rsync resumes if the transfer drops. scp works too but will not resume. UNPACK ON THE SERVER -------------------- cd /tmp/awc-assets sha256sum -c SHA256SUMS # verify BEFORE unpacking, not after sudo rm -rf /var/www/weather.codyhurst.com/assets # see the note above sudo mkdir -p /var/www/weather.codyhurst.com/assets for f in assets-*.tar.gz; do sudo tar -xzf "$f" -C /var/www/weather.codyhurst.com/assets done sudo chown -R "$USER":www-data /var/www/weather.codyhurst.com/assets sudo find /var/www/weather.codyhurst.com/assets -type d -exec chmod 755 {} + sudo find /var/www/weather.codyhurst.com/assets -type f -exec chmod 644 {} + The permission lines matter: nginx runs as www-data and must be able to read every file and traverse every directory. These archives carry modes from a mount where permissions were meaningless, so nothing sensible is inherited. VERIFY ------ # A file that must exist, at its NEW path curl -I https://weather.codyhurst.com/assets/shared/sounds/TWC_Mnemonic.mp3 -> 200, Content-Type: audio/mpeg # The OLD path, which must now 404 — if this returns 200 you unpacked the # superseded set, or extracted on top of it curl -I https://weather.codyhurst.com/assets/sounds/TWC_Mnemonic.mp3 -> 404 # Anything missing must 404, NOT return the SPA curl -I https://weather.codyhurst.com/assets/nope.mp3 -> 404 (NOT 200 with HTML — that would mean the SPA fallback is catching media requests, and the browser would try to decode a web page as audio) ALTERNATIVE ----------- deploy/publish.sh in the repo rsyncs the assets/ directory directly and sets the right modes on arrival, so you never need these archives for a normal deploy: bash deploy/publish.sh --host cody@weather.codyhurst.com --assets-only These tarballs are for when you want a single portable copy — moving the library between machines, keeping an offline backup, or attaching to a GitHub Release for scripts/fetch-assets.mjs to pull down. Regenerate this set at any time with: npm run assets:package # writes dist-assets/ NOT INCLUDED ------------ Two files at the root of assets/ are intentionally absent, because the packer only archives category directories and neither belongs on a server: .gitkeep empty git placeholder _transcode-report.json transcoder bookkeeping (nginx 404s it anyway) Also absent: inbox/, which is an empty staging folder. See the note at the top. RIGHTS ------ This library is fan-sourced. The MIT-licensed fan-project material (WeatherStar fonts, condition icons, TWC/NOAA logos, LDL strip) is redistributable; the narration clips, production music, broadcast-derived background art and the commercial typefaces (Frutiger, Interstate, Akzidenz-Grotesk, Helvetica Neue) are not. Serving them from a public website is a redistribution decision, and it is yours to make. See the README's attribution section. The v0.13.0 binaries on GitHub do NOT bundle any of this — the application is built to run without the library, on system fonts with no music and screen-reader narration only. Nothing published so far carries this material.