Outcome
Fetch only authorized resource releases from the connected server, verify them atomically, and expose them to renderer through a trust-scoped provider.
Scope and invariants
- Negotiate manifest/version/digests/capabilities through Game Protocol 1; distinguish code-bundled assets, server-authenticated resources, and user/editor-local files.
- Prioritize gameplay messages over bulk transfers; bound concurrent requests, bytes, retries, bandwidth, memory, disk, filenames, and decompression.
- Scope caches by authenticated server identity and release digest; never allow one server to satisfy another server's trust namespace accidentally.
- Download to temporary files, verify length/hash/type/license manifest as applicable, then atomically publish; corrupt/partial files remain invisible.
- Define eviction, offline/reconnect, manifest change, cache reset, diagnostics, and privacy behavior.
Acceptance criteria
- Tests cover missing/corrupt/truncated/oversized/compression-bomb data, identity/certificate change, stale manifests, interrupted writes, disk full, eviction races, reconnect, and slow delivery.
- Renderer receives only verified immutable IDs/digests/revisions and never owns network/disk policy.
- No path traversal, executable shader/code delivery, or unauthenticated cache poisoning is possible.
- A clean M3 client bootstraps the selected content/resources without source checkout access.
- Metrics are bounded and distinguish download/verify/cache/provider stages.
Dependencies and parallelization
Depends on #12 and renderer resource-provider issue. Server/protocol resource work and client cache work can proceed in parallel against shared fixtures.
Licensing
Client code/tests are MIT. Legacy reuse requires an audited approved-grantor grant; all other implementation is independent. Content, sound, and graphics retain their exact asset licenses and notices.
Outcome
Fetch only authorized resource releases from the connected server, verify them atomically, and expose them to
rendererthrough a trust-scoped provider.Scope and invariants
Acceptance criteria
Dependencies and parallelization
Depends on #12 and renderer resource-provider issue. Server/protocol resource work and client cache work can proceed in parallel against shared fixtures.
Licensing
Client code/tests are MIT. Legacy reuse requires an audited approved-grantor grant; all other implementation is independent. Content, sound, and graphics retain their exact asset licenses and notices.