Strip the fat .vst3 bundles from the desktop build; they download on demand,
sliced to the current platform, into a writable config-dir root the plugin's
loader searches (rig_builder _download_vst_pack, data/vst_packs.json). The
plugin runs without them — a first-run prompt offers the download.
Companion to the rig plugin + core slicing PRs. Part of #122.
Signed-off-by: Matthew Harris Glover <matthew@harrisglover.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Strip club and arena venue media (~678 MB of crowd MP4s) from the desktop
bundle; they download on demand from their content-pack releases. The bar
starter stays bundled so career works offline out of the box.
Companion to the core PR (career: host higher venues as opt-in content
packs). Part of the nightly-slimming effort (#122).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
rig_builder now ships vst/src/{pedals,racks}/_shared -> ../_shared; Git
Bash cp -R fails to recreate symlinks without SeCreateSymbolicLink. The
bundle wants real files anyway — copy with -L.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
core#834 extracted routes into a new top-level routers/ package; the
bundle script only copied lib/, so the packaged backend would die with
ModuleNotFoundError: No module named 'routers'. Copy every top-level
package (dir with __init__.py) except plugins/ (bundled selectively
below) and tests/ (never ships), so the ongoing R3 extraction series
can't keep breaking packaged builds.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Core added appstate.py (core#833); bundle-slopsmith.sh's whitelist only
copied server.py, so packaged builds crashed on startup with
ModuleNotFoundError: No module named 'appstate'. Glob top-level *.py so
future sibling modules can't repeat this.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy core's content/starter/*.feedpak into the bundle so
server._seed_builtin_starter_content() can seed it into the library on first
run of packaged builds. Also fix a rename skew: the builtin diagnostic copy
looked for docs/diagnostics/slopsmith-diagnostic-basic-guitar.sloppak, but core
renamed it to feedBack-diagnostic-basic-guitar.sloppak — so the diagnostic
seeding was silently skipped in packaged builds ("not found" warning). Point at
the feedBack-* name to match server.py's _BUILTIN_DIAGNOSTIC_SOURCES.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The slopsmith org was deleted in the DMCA relaunch; core + plugins now
live under the private got-feedback org. Repoint the whole build:
- core clone (nightly.yml, build-common.sh) -> got-feedback/feedback,
authenticated via GH_CLONE_TOKEN (a PAT with read on the private org;
threaded through build.yml/nightly.yml/release.yml). Local builds
without it fall back to the git credential helper.
- bundled-plugin list -> got-feedback/feedback-plugin-*, pruned to the
set that exists in the org: drops the removed extraction plugins
(profileimport, tones, sloppak-converter) and not-yet-rehomed ones
(nam-rig-builder, tabimport); 34 plugins bundled.
- dirname derivation strips the new feedback-plugin- prefix.
- ghcr image -> ghcr.io/got-feedback/feedback; VERSION-sync dispatch
-> got-feedback/feedback; soundfont + update FEED_URL + docs ->
got-feedback/feedback-desktop.
Two prerequisites remain (owner-only): set the GH_CLONE_TOKEN secret,
and re-upload the soundfonts-v1 release assets to feedback-desktop.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>