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
Implement a targeted fix so Workspace Manager/game launch asset loading uses game.manifest.json as the only source of truth for game chrome assets. Do not guess /games/<Game>/assets/images/bezel.png or background.png. Do not add fallback assets. Do not add aliases or pass-through shims.
12
10
13
-
For CI/regression mode:
11
+
Tasks:
12
+
1. Find code that derives game chrome image paths by convention, especially bezel/background.
13
+
2. Replace convention-derived URLs with explicit manifest asset lookup.
14
+
3. If a manifest does not declare an optional chrome asset, skip rendering/requesting that image and show safe empty state.
15
+
4. Preserve games that already declare chrome assets in game.manifest.json.
16
+
5. Search the repo for remaining hardcoded or derived references to /assets/images/bezel.png and /assets/images/background.png and remove convention-only loading paths.
17
+
6. Run targeted validation only:
18
+
- launch SolarSystem and verify no bezel/background 404s
19
+
- launch a game with declared manifest chrome assets, such as Asteroids if available, and verify declared assets still load
20
+
- run syntax/import checks for changed JS files
21
+
7. Write evidence to docs/dev/reports/asset_manifest_only_validation.md.
22
+
8. If roadmap status is touched, status-only update only.
Prevent game/tool launch code from requesting guessed asset paths such as `bezel.png`, `background.png`, sample defaults, or hidden fallback assets that are not explicitly declared in the owning manifest.
5
+
6
+
## Scope
7
+
- Game launch/chrome image loading
8
+
- Workspace Manager game/tool asset display paths
9
+
- Manifest-driven asset lookup helpers if present
10
+
- Targeted validation only
11
+
12
+
## Required behavior
13
+
1. Treat `game.manifest.json` as the source of truth for game assets.
14
+
2. Only request an asset URL when the manifest explicitly declares that asset.
15
+
3. If an optional asset is missing from the manifest, render a safe empty state.
16
+
4. Do not hardcode or guess these paths:
17
+
-`/games/<Game>/assets/images/bezel.png`
18
+
-`/games/<Game>/assets/images/background.png`
19
+
- any other convention-only asset path
20
+
5. Do not add silent fallback data or hidden default assets.
21
+
6. Do not create aliases, bridge helpers, or compatibility shims.
22
+
23
+
## Specific known failure to fix
24
+
SolarSystem currently logs 404 requests similar to:
25
+
26
+
```text
27
+
GET /games/SolarSystem/assets/images/bezel.png 404
28
+
GET /games/SolarSystem/assets/images/background.png 404
29
+
```
30
+
31
+
Those requests must stop unless SolarSystem declares those assets in its `game.manifest.json`.
32
+
33
+
## Implementation direction
34
+
- Locate the launch/chrome code that currently derives bezel/background image URLs by convention.
35
+
- Replace convention-derived path construction with manifest lookup.
36
+
- Support existing manifest asset entries such as:
0 commit comments