Noted during #245's review. ENSURE_BACKGROUND short-circuits on a cache hit with no content check, so a scene re-pushed to the backgrounds branch under the same file name (better compression, a corrected image, or the capture-of-the-week slot being reused) never reaches anyone who already downloaded the old bytes. #245's own 11.6% size saving only benefits fresh installs for exactly this reason.
That behaviour is coherent (no surprise redownloads, offline-safe) but it half-breaks the workflow the branch exists for: pushing a new scene under a new name works, refreshing an existing one silently does not.
Cheapest honest shapes, pick one: put a content hash or version in the manifest row and compare on ensure (one extra field, no extra request, cache invalidates itself), or document that scene files are immutable and every content change takes a new file name plus a manifest edit. Either is fine; the current state, where a re-push looks like it worked and did nothing for existing users, is the only wrong option.
Noted during #245's review. ENSURE_BACKGROUND short-circuits on a cache hit with no content check, so a scene re-pushed to the backgrounds branch under the same file name (better compression, a corrected image, or the capture-of-the-week slot being reused) never reaches anyone who already downloaded the old bytes. #245's own 11.6% size saving only benefits fresh installs for exactly this reason.
That behaviour is coherent (no surprise redownloads, offline-safe) but it half-breaks the workflow the branch exists for: pushing a new scene under a new name works, refreshing an existing one silently does not.
Cheapest honest shapes, pick one: put a content hash or version in the manifest row and compare on ensure (one extra field, no extra request, cache invalidates itself), or document that scene files are immutable and every content change takes a new file name plus a manifest edit. Either is fine; the current state, where a re-push looks like it worked and did nothing for existing users, is the only wrong option.