You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`source-overrides.json`: limits for local override media under `osu.Game/Resources`.
4
+
-`android-apk-media.json`: limits for media packaged into the final Android APK.
5
+
6
+
`android-apk-media.json` currently uses `max_apk_bytes = 320000000` as a direct-distribution guardrail for this fork while still failing on major regressions.
7
+
8
+
Budgets are evaluated after workflow-time optimization (`scripts/optimize_resource_overrides.py`), so reports reflect the effective media set used by builds.
- Android APK media limits: `.github/resource-budgets/android-apk-media.json`
24
+
25
+
Current `max_apk_bytes` is set to 320,000,000 bytes as a hard guardrail for this project’s direct-distribution APK flow while still forcing visible regressions to fail CI.
26
+
27
+
Workflow checks now fail when budgets regress for:
28
+
29
+
- Total media bytes
30
+
- Per-bucket bytes (image/audio/video)
31
+
- Largest single media file
32
+
- Top-N largest media aggregate
33
+
- Total APK size (release workflow)
34
+
35
+
## Workflow optimization pass
36
+
37
+
- CI and release workflows run `scripts/optimize_resource_overrides.py` on `osu.Game/Resources` before budget checks.
38
+
- Optimizer settings are in `.github/resource-optimizer/config.json`.
39
+
- By default, optimized files are added as side-by-side overrides and originals are kept for safety (`keep_original_files=true`).
40
+
- Image optimization is quality-gated (SSIM threshold) so aggressive size wins do not silently degrade visuals.
41
+
42
+
## Naming and quality rules
43
+
44
+
- Keep override names stable (do not invent alternate keys).
45
+
- Avoid duplicate variants unless there is a demonstrated runtime need.
46
+
- Optimise for perceptual quality at smallest size that preserves gameplay UX.
47
+
48
+
## Conversion guidance
49
+
50
+
Use your preferred encoder tooling locally (for example `cwebp`, `ffmpeg`) before committing overrides.
0 commit comments